エス技研WordPress専科

WordPressの基本的な使い方から SEOの対応、プラグイン情報、カスタマイズ方法を解説します。


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

      2017/04/29

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 the CAPTCHA.

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

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

  関連記事

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成

WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成する方法を説明しています。

WordPress csvインポート、エクスポートのプラグイン

WordPressから csvファイルをエクスポート、インポートする方法を紹介しています。

WordPressの管理画面ログインURLファイルにBasic認証を設定する方法解説

管理画面のログインURLにBasic認証を追加することでさらなる極めて高いセキュリティ向上の方法を解説します。

BackWPupでバックアップ・設定したJobの実行、ファイル一覧

BackWPupその4。バックアップ設定した Jobを実行する方法、ログの一覧、保存されたファイル一覧の解説です。

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

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

Basic認証をファイル単位・URL単位で設定する方法の解説

Basic認証はフォルダ単位だけでなくファイル単位での設定もできるためログイン画面だけにBasic認証を設定することもできます。その解説です。

Contact Form 7の使い方・引数で情報を受け渡す方法

Contact Form 7で引数の情報をフォームに編集する方法を解説します。

BackWPupでバックアップ・リストア(復元)の具体的手順

BackWPupその9。バックアップファイルからのリストア(復元)の手順です。

WordPressのユーザ名を後から変更する方法。adminの使用は危険。

運用中のユーザ名を変更する方法を解説。かつてのデフォルト設定だった「admin」は誰もが使うIDのため非常に危険です。今からでも変更しましょう。

WordPressのスラッグとは?

WordPressのスラッグって何?それを解説している記事です。なんとなく分かっている気になっているものを改めてしっかり確認をしてみませんか?