ブログBlog

思わぬ罠?

投稿日:2015年02月04日

布内です。

phpファイルを数行書き換えただけなのに、エラーメッセージが表示されました。

Warning: session_start() [function.session-start]: Cannot send session cookie – headers already sent by (output started at ファイル名) in ファイル名

調べてみると、既にHTTPヘッダー情報が送られていてsession_start関数でCookieを作成するためのHTTPヘッダーを作成できないという意味です。

より前に改行が入ってる等で発生することが多いです。

ですが今回はこんな所は一切触っておらず、影響を与えるはずも無い部分の編集。

では、その原因は何なのか?

調べて得た答えはメモ帳でした。

windowsのメモ帳でUTF-8で保存すると、ソースの最初にBOMが挿入されてしまい、PHPから既にデータが出力されている状態になってしまうようです。

UTF-8Nで保存するとBOMが挿入されないようですが、メモ帳では選択できませんのでご注意を。

PAGE TOP