PHPで初期のころに悩まされたエラーの話です。
とあるシステムを開発していて「Warning:Cannot modify header information-headers already sent by ・・・・・」エラーが発生しました。
今となってはエラーを見れば原因はすぐに分かるのですが、(今さらエラーを出すスクリプトを書く時点でおかしい話ですが)ググッてみれば結構検索にはひっかります。
みなさん同じような悩みを抱えているようで。
さて、原因はheader()の前に何かしらの文字を出力してるのが原因です。
例えば、デバッグ中のダンプする処理がそのまま残っていたり、全角のスペースが入力されていたり。
このエラー自体を無視する方法は、
php.iniで[output_buffering = ON]とするか、スクリプトの最初にob_start()を呼び出す。
いろいろと悩んで成長していくんですよね。
まさに失敗は成功の母と言ったところでしょうか。