Hiromuブログ(夏)

どこにでもいるただのホロレンジャーです

WordPressで投稿・コメント後に画面が真っ白になる問題

オリジナルのテーマもそこそこ形になってきて、新規投稿やコメントをしてみるとなぜか画面が真っ白。こんな状況になりました。

対処した方法は以下に記載の通りですが、この問題はローカル環境でしか起こらず、本番環境では起こっていないので深追いはしていません。ローカル環境で動くようになったのでとりあえずいいかという程度の内容です。

まず最初にwp-config.phpデバッグオプションをtrueに変更しデバッグモードします。

wp-config.php

変更前:define('WP_DEBUG', false);
変更後:define('WP_DEBUG', true);

すると投稿・コメント後以下のようなエラーメッセージが表示されるようになりました。

PHP Fatal error:  ob_start(): Cannot use output buffering in output buffering display handlers in /(略) on line xxx

とりあえずググってみるとphp.iniを修正したらなおったという人が多いみたい。よくわからないままphp.iniを触るのはちょっと気持ち悪いといえば気持ち悪いですが試したところ確かにエラーは出なくなりました。

(bin配下の)php.ini

変更前:output_buffering = off
変更後:output_buffering = on

ちなみにphp.iniってどこにあるの?って場合、ターミナルで以下コマンドを実施すると見つけられます。

$ cd /Applications/MAMP
$ find . -name "php.ini"
./bin/php/php5.2.17/conf/php.ini
./bin/php/php5.3.14/conf/php.ini
./bin/php/php5.4.4/conf/php.ini
./conf/php5.2.17/php.ini
./conf/php5.3.13/php.ini
./conf/php5.3.14/php.ini
./conf/php5.3.5/php.ini
./conf/php5.4.3/php.ini
./conf/php5.4.4/php.ini

MAMPの場合いくつかのバージョンのphpがインストールされているので、自分が利用しているバージョンのphp.iniを修正しましょう。バージョンはMAMPの「環境設定」から確認できます。

blog022

デバッグが終わったらデバッグオプションを忘れずにもとに戻しておきましょう。

define('WP_DEBUG', false);

なお、このサイトを見るとなにかプラグインが悪さしている可能性もありそうですね。