「output_buffering = On」の話

Warning: Cannot modify header information – headers already sent by ….

こんなエラーが、このサイト(WordPress)のテンプレートを使っていたら、頻出。

公開ページには、表示されないものの、管理画面で頻出するため、すこし調べてみたところ、 「header()」関数実行前に 空行や何かしらのコードが入っていたりすると、怒られる、というものらしいです。

なので、それを直せばよいのですが、あまりadmin系のテンプレートを触りたくないなーと思っていたら、下記の作業でWarnigが出なくなるとのことで試してみたところ、うまくいきました。

(php.iniファイルを触るので、自己責任でお願いします。)

php.iniファイルに、下記を追記。

output_buffering = On

(Offになっていたら、Onに変更するだけですね)

これで、Warningが消えました。

ただ、本来、header()関数の前に何かあるというのは良くないと思うので、本来ならそこを直すべきなのでしょうが、手軽にこちらの方法で修正しました。

メモまで。

(php.iniファイルについて等、よくわからない方は、別のサイトをご参照ください。)

参考サイト) https://kotori-blog.com/php/cmhi_error/
(御礼申し上げます)