session_start()の際に発生するエラー2009年04月03日 11時35分59秒

PHP
session_start()の際に下記のような「Cannot send session cache limiter」というエラーが発生する場合がある。
上記のエラーはコーディングに起因しない場合があり、幾つかの発生パターンが存在する。
その内の幾つかに対する対処法を紹介します。

【エラーメッセージ】
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /index.php:1) in /index.php on line 2


【その1】
ファイルの先頭にスペースや改行と言ったゴミが入っているとエラーになります。
session_start()を使用する場合、ファイルの先頭は「」としましょう。
【その2】
サーバ上に配置した PHPファイルの文字エンコードを「UTF-8」にする場合、必ず「BOM(Byte Order Mark)無し」のUTF-8を選択しましょう。
BOM有りを選択した場合、エディタに表示されないヘッダー情報がファイルの先頭に追記されてしまいます。
悲しい事にこのヘッダー情報が【その1】で紹介したのと同じゴミ扱いされてしまいます。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
「このブログはどんな空間でしょう?
 ひらがな4文字でお答え下さい。」

コメント:

トラックバック

このエントリのトラックバックURL: http://crimson-harberd.asablo.jp/blog/2009/04/03/4222485/tb