とある理由からheader関数で他のページにリダイレクトする処理を追加する必要があったんだけど、同じページをrequire_onceしているにも関わらず、アクセスするページによってリダイレクトされたり、以下のようなエラーが表示された。
Warning: Cannot modify header information - headers already sent by (output started at /foo/bar/hoge.php:2937) in /foo/bar/index.php on line 11
よくよくエラーを見たらindex.phpが呼び出しているhoge.phpの最後が
?> // ここに改行が入ってた
のように無駄な改行がされていたため、headerを送出できなかったっぽい。
PHPのデリミタの前後には何も書いちゃいけません。
[php]
...
?>
[/php]
呼び出されているhoge.phpは実際はSmartyのモジュールでした。71ファイル全てが改行されてたので全部修正してなんとかなった。