phpのheader()を使った際に、Warning: Cannot modify header information – headers already sent by 〜で出ちゃって困った事。

こんな風に、postにデータが入って無い時は弾こうとしたとき

ローカルでCannot modify header informationになりました。

これはheader()より先に何かが出力されている事が原因のエラーみたいなんだけど、
変数への代入は関係ないみたいだし、謎な改行も空白行無いし、BOMも付いてないしで
改行消してみたり、ファイルの保存方法を見なおしたりでは上記ソースのエラーを消せませんでした。

で、実際にエラーを消せた方法

1)php.iniのoutput_bufferingをonにする。

MAMPのphp.iniは
[text]
/Applications/MAMP/bin/php/php[バージョン]/conf/php.ini[/text]
にあります。

見てみると
output_buffering = Off になっていたので
output_buffering = On に変更しました。

その後、MAMPを再起動して確認するとlocationで指定したページへ飛んでくれました。やった!

2)ob_start();を使う。

output_buffering = Offのままob_start();を挿入してもいけました。やった!

PHP: ob_start – Manual

使い方あってるのかな。


“phpのheader()を使った際に、Warning: Cannot modify header information – headers already sent by 〜で出ちゃって困った事。” への3件のコメント

  1. HI I AM FROM ETHIOPIA NAME SEMAGNE KIDANE NIGUS AGE 25 SEX M JOB CLINICAL NURSE DIAPLOMA 5YEAR EXP.IN BLACK LION HOSPITAL SO MANEY PROBLEMS NO EDUCATION &TRANING POLITICALY, ECHONOMICALY PROBLEM PLES SUPPORT FAST FULL SERVICE SCHOLARSHIP PROGRAM VISA & AIRTICKET OR FOR ALL PROCESS COMMERCIAL BANK OF ETHIOPIA ACC. NO. 0173030581300 MOBIL +2589021941473 THANKS VARY MACH.


  2. 先ほどコメントしたものです。
    ソースが消えたので再コメントです。

コメントを残す

メールアドレスが公開されることはありません。

You can add images to your comment by clicking here.