PHP使いなら誰でもsession_start時に下記のエラーが表示された経験があるかと思います。
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
私も今回このエラーに遭遇しました。
大抵の場合、session_startの前に何らかの出力処理が入っていたりするのが原因なので、どこかなと探そうとしたらエラーが発生しているファイルに完全にそんなものが入る隙もありませんでした。
<?php session_start();
何なんだとこれは・・・と検索していたところ、BOMというものが入っていたのが原因だそうです。
BOMとは「バイトオーダーマーク」と呼ばれるもので、UTF-8ファイルの先頭に付加し、UTF-8の符号化の種類の判別に用いられるそうです。
通常はBOMはつけなくてもよく、私もこれまで意識していませんでした。
しかし、秀丸の保存画面を開いたところなぜかこのファイルだけBOMにチェックが入っていたのですよね。
BOMをつけずに保存したところ、警告は表示されなくなりました。
何でこんなことしたのか疑問なのですが、今回のプロジェクトは他社が作成したものの修正でしたので、もしかすると他社が作成した時点でついていたのかもです。