エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


WordPress 画面が真っ白になる不具合があった場合の対応の一つ

      2017/03/11

WordPressの画面が真っ白になる不具合は PHPのエラーです

 

画面が真っ白になる原因の説明

 
WordPressに限った話ではありませんが、画面を表示させようとして画面が真っ白になる不具合があった場合の対応方法の一つをご紹介します。
 
画面が真っ白になるというのは、おおよその場合 PHPのエラーが発生している場合です。
ですが、エラーメッセージが画面に表示することは、セキュリティ上好ましいことではないため、一般的なレンタルサーバの設定ではエラーメッセージは表示しない仕様になっていますので、エラーが起こっていて正常に表示されるものがない状態で、しかもエラーメッセージも画面に表示されない設定になっているために、結果的に真っ白な画面が表示されている、という状況になっていることが多いのです。
 
その場合でも、エラーログにエラーメッセージが出力されている場合も多いため、それを確認することで何が起こっているかを把握することはできるのですが、エラーログって?っていう方も多いでしょう。
また、いちいちエラーログを表示させて確認するのは面倒でもあったりします。
(レンタルサーバの場合は、デフォルト設定ではエラーログも出力していない場合もあります。)
 
そんな場面での対応方法です。
 
 

PHPのエラーメッセージを画面に表示する方法

 
対応方法としては、まずはエラーが起こったらそのエラーメッセージを画面に表示させて何が起こっているのかを確認しよう、ということになります。
 
対応方法は、3つあります。
 
 1.php.ini で設定する方法
 2..htaccess で設定する方法
 3.PHPのプログラムの中で設定する方法
 
 

1.php.ini で設定する方法

 
「php.ini」は PHPの設定について書かれているファイルで、基本的に PHPはここで書かれた設定によって動いています。
そのため、PHPに関する設定はここで設定できますが、ここで設定を変更した場合は基本的にはサーバ全体にその設定が反映されます。
 
そのため、例えば、同じサーバで複数の Webサービスを提供していて、すでに本番公開されているサービスではエラー表示は出ないようにしたい、という場合にはこの方法を取ることは避ける方がいいでしょう。
 
また、php.iniの設定変更は非常にリスクが高いため、レンタルサーバによっては、直接変更ができなくなっている場合も多々あります。
 
ロリポップサーバの場合は、ドメイン、サブドメインごとに「php.ini」の設定をすることができますので、php.iniを変更するこの方法でもほかのサービスに影響を与えずにエラー表示をさせることができます。
また、ロリポップサーバでは php.iniの設定変更によるトラブルを避けるため、あらかじめ決められた項目のみプルダウンで設定を選択する方法でのみ変更が可能になっています。
 http://lolipop.jp/manual/user/php-setting/
 
さくらインターネットの場合は、管理画面から php.iniの編集ができるようになっています。
 http://design-spice.com/2011/02/11/sakura-php-error-lo/
 
 
順番が逆になってしまいましたが、php.iniで設定する場合は、「display_errors」の項目で設定します。
php.iniのファイルの中で「display_errors」を検索して、下記の設定を行います。
 
※エラーメッセージを表示させる場合
display_errors = On
 
※エラーメッセージを表示させない場合
display_errors = Off
 
 
最後に、この説明で何をしていいか分からない方は、1番の「php.ini で設定する方法」を選択するべきではありませんので、この程度の説明でとどめます。
 
 

2.「.htaccess」 で設定する方法

 
php.iniで設定する場合は、基本的にサーバ全体に影響が及びますので、1台のサーバで複数の Webサービスを提供している場合には、特定のサービスを入れているフォルダ単位でエラーの表示、非表示を切り替えたい、と思う場合もあるでしょう。
そういう場合は、「.htaccess」での設定する方法が有効です。
 
「.htaccess」のファイルに下記の 1行を追加すれば OKです。
 
※エラーメッセージを表示させる場合
php_flag display_errors On
 
※エラーメッセージを表示させない場合
php_flag display_errors Off
 
WordPressの場合は、ドキュメントルート(wp-config.phpが置いてあるフォルダ)に「.htaccess」が生成されている場合がありますので、それに上記の設定を追記すれば OKです。
 
この設定方法では、.htaccessを入れたフォルダ以下のプログラムを実行した場合にのみエラーを表示させることができますので、特定のフォルダ内の画面だけでエラーを表示させたい場合などにも有効です。
 
 

3.PHPのプログラムの中で設定する方法

 
レンタルサーバによっては、「.htaccess」の設定が有効にならない場合もあるでしょう。
そんな場合は、phpのプログラムに直接設定を記述することで対応も可能です。
 
この方法は、プログラム全体に影響させずに、特定のページだけ、特定のプログラムだけでエラーを表示させたい、という場合にも役に立ちます。
 
下記のソースコードを特定のプログラムに記述することで、そのプログラムだけでエラーが表示されます。
また、すべてのページでエラーを表示させたい場合に、例えば、WordPressであれば「wp-config.php」というすべてのページで読み込まれる設定ファイルがありますので、そのファイルの一番下の行などに下記のコマンドを記述することで全体でエラーの処理が行われるように設定することもできます。
 
記述するコードは、それぞれ以下の 1行です。
 
※エラーメッセージを表示させる場合
ini_set(‘display_errors’, ‘On’);
 
※エラーメッセージを表示させない場合
ini_set(‘display_errors’, ‘Off’);
 
 
ちなみに、「on/off」以外に「true/false」「1/0」でも設定できます。
いずれも前の方が「on」と同じ意味でエラーメッセージが表示されます。
 
 
また、WordPressにはデバッグモードを設定する方法が備わっていますので、その設定方法についても合わせてご確認ください。
WordPress 画面が真っ白になる不具合があった場合の対応の一つ デバッグモード
 
 

エラーメッセージを表示させた後の対処方法

 
ちなみに、ここで説明したエラーメッセージを表示させる処理を行うと、不具合が起こっている原因を示すエラーメッセージが表示されます。
 
それを見ながら、不具合の原因を特定して対処を行っていくのですが、ここで説明しているエラーメッセージを表示させたからと言って、不具合が解決するわけではないことはお断りしておきます。
 
エラーメッセージを読んで不具合の対応方法などが分からない場合は、掲示板などで質問すると言った方法などで対応をしてみてください。
 
 


 

エラーも出ない画面が真っ白な不具合の場合

 
header(“Location: $url”);を使う際はスペースの取扱いに注意が必要です。
 
この処理については、WordPressには関係ないことですが、画面が真っ白になる不具合がある方がこのページを見たときに参考になれば、と思い追記をしました。
 
PHPでの開発を行う際にリダイレクトの処理を書く際に「header(“Location: $url”);」を使う場合がありますが、その際にスペースの取扱いを間違えると、エラーも出力されず画面が真っ白になるだけという不具合が起こる場合があります。
 
こちらについて「PHP画面が真っ白 header(“Location: $url”);」に記事を書きましたので、併せてご覧ください。
 
 

プラグインが原因で起動しないWordPressを復旧させる方法解説 2014.10.04 追記

 
プラグインが原因で WordPressが起動しなくなったと分かっている場合、もしくは、それが原因じゃないかと疑わしい場合、簡単な方法で復旧させることを試せる方法もあります。
それを「プラグインが原因で起動しないWordPressを復旧させる方法解説」で記事にしていますので、そのような状況の方はあわせて参考にしてみてください。
 
 

サーバを移転したりPHPのバージョンを変えたりしたときに画面が真っ白に 2015.03.02追記

  • PHPのバージョンアップをした。
  • サーバを移転した。
  • ローカル環境から本番環境に移した。

 
といった感じで、PHPの設定そのものが変った可能性がある場合に画面が真っ白になるという不具合の場合は、PHPのショートタグの設定が原因の場合もあります。
 
ショートタグとは、PHPの宣言を「<? …… ?>」という省略形式で記述する方式のことですが、この設定を有効にするか否かのデフォルト設定が、PHPのバージョンによって違うため、動かなくなる可能性があります。
 
それについて「サーバ移転、PHPバージョンアップでPHPのソースコードが表示される・ショートタグのPHPが動かない」に記事を書いていますので、詳細はこちらを参照してみてください。

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPressの管理画面ログインURLの変更方法解説

管理画面のログインURLの変更は極めて有効なセキュリティ向上の方法ですので、その解説を行います。

WordPress・Contact Form7、MW WP Form共通 細かなデザイン調整方法

お問い合わせフォームプラグインの Contact Form7、MW WP Formにおけるラジオボタン、チェックボックスなどの見た目を調整する小技を紹介。

Meta ManagerでWordPressのキーワード、ディスクリプションを編集

WordPressの基本機能にないキーワード、ディスクリプションを編集するプラグインMeta Managerの解説です。

WordPressのおすすめの確認画面付きお問い合わせフォームプラグイン・MW WP Form

MW WP Formは確認画面が付いているオススメのフォームプラグインです。企業サイトを CMSとして構築する際にも利用できる実力派です。

Custom Field Templateで簡単にカスタムフィールドをフル活用

カスタムフィールドを簡単に設定するプラグイン。簡単にカスタムフィールドが管理で来て作業効率が数倍にアップします!

Better Delete Revisionを使って WordPressのリビジョンを削除する方法

自動的に溜まるリビジョンは Better Delete Revisionを使うことで簡単に削除することが出来ます。表示の重さを軽減したり、バックアップファイルのスリム化に貢献します。

WordPressのカテゴリの編集の解説

WordPressのカテゴリって何?というところから説明し、カテゴリを登録、編集する方法を解説します。また、カテゴリの順番を自由に変える方法も解説します。

Crayon Syntax Highlighterでソースコードをキレイに編集する設定方法

PHP、HTMLなどのソースコードを紹介する際に見やすく編集してくれる Crayon Syntax Highlighterの設定の方法、利用方法の解説です。

BackWPupでバックアップ・エラー発生の具体的対処方法事例6

BackWPupその6。エラーが起こったときの対処方法の具体例紹介です。

WordPressの記事編集で文字が自動変換される要注意な文字列

記事を編集する際、入力した文字とは違う表示のされ方をする文字、アポストロフィ、ダブルクォート、円マーク、三点リーダ(…)など、その解説と対応方法です。