スクリプト内でheader()関数を呼ぶと、表題の
『Warning: Cannot modify header information - headers already sent by ...』
というエラーが出てうまく行かず、しばらく悩まされましたが解決しました。
このエラーメッセージでグーグル検索をかけると、どのFAQやフォーラムに行っても、
『そのエラーは、既に書き込まれたヘッダーを変更しようとして・・・』
『スクリプトに余分な空白文字がある場合に出る。それを削除すれば解決する。』
といった類の書き込みがほとんどでした。
でも、私の場合はどれにも該当しません。
PHPの設定と関係があるかと思い、php.ini で検索を絞ったら、解決策に当たりました。
感謝。
PHPエラー『...headers already sent by ...』の解決策
元々、Linuxだとうまく行ってWindowsだとうまくいかないという状況だったので、案の定Windowsの設定の方がうまく行ってませんでした。
【解決策】
php.iniにて
output_buffering = Off
となっている箇所を、
output_buffering = On
にする。
バッファリングを設定することにより、ヘッダ情報が完成するのを待ってから出力してくれているのだろうか。
助かりました。
同じ問題で解決しました。
私の場合、output_buffering=Onと書いたphp.iniをWindowsフォルダに入れ忘れてたんですけど。
iniファイルを見直そうとして、ないないない!
というところで気づきました。
ありがとうございました
私もこのエラーに悩みましたが、確かにonで解決したのですが、offのままでも解決しました。
どうもonにすると言う事は、エラーであってもダウンロードする様な設定だと聞きました。
記述を見直しましたら、先頭行に「改行」があったので、これがヘッダーと認識して、phpで書いたヘッダーが重複する形になりエラーが出ていた原因でした。
1行目に「 <?php 」と記述すると解決しましたので、参考になればと思い、書き込みさせて頂きました。
いろいろ勉強になりました。ありがとうございました。
おかげさまで解決しました。
ありがとうございます!!
PHP5でやっていた時は何の問題も無かったのに、PHP4に移したらこのエラーが出てしまって・・
半日悩みました。
本当に助かりました。
すぐに解決できました!!
一発解決ですぅ♪
ありがとうございました。
ありがとうございました。
AZS!!!!!!!!!!!!
危うく胃潰瘍になるところでした!
ありがとうございます。
感謝です!!
ありがとうございます、助かりました(^-^)
この記事に救われました。ありがとうございます。