[PHP] session_start()で「headers already sent」Warningが出た場合

9:14 PM on 2011年9月6日

(現象)
以下のWarningが表示された。
———-
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at ~.php:1) in ~.php on line 2
———-

(原因と対策)
以下のためにPHPから既にデータが出力された状態になっていることが原因。
1. ファイルの先頭(「<?php session_start(); ?>」の前)に余分改行がある→改行を削除する
2. ファイルがBOM付きのUTF-8で保存されている→UTF-8Nで保存する