output_buffering」タグアーカイブ

PHPでWarning:Cannot modiy・・・・・・

PHPで初期のころに悩まされたエラーの話です。

とあるシステムを開発していて「Warning:Cannot modify header information-headers already sent by  ・・・・・」エラーが発生しました。

今となってはエラーを見れば原因はすぐに分かるのですが、(今さらエラーを出すスクリプトを書く時点でおかしい話ですが)ググッてみれば結構検索にはひっかります。

みなさん同じような悩みを抱えているようで。

さて、原因はheader()の前に何かしらの文字を出力してるのが原因です。

例えば、デバッグ中のダンプする処理がそのまま残っていたり、全角のスペースが入力されていたり。

このエラー自体を無視する方法は、

php.iniで[output_buffering = ON]とするか、スクリプトの最初にob_start()を呼び出す。

 

いろいろと悩んで成長していくんですよね。

まさに失敗は成功の母と言ったところでしょうか。