真っ白になった場合の解決手順

WordPressを利用しているときに、真っ白になり「ページが表示しません」や「応答がありません」などが、ブラウザに表示されるようになった場合の解決手順を示します。

メモ: 以下の手順で必ず解決するわけではありませんが、原因を特定しやすくなるはずです。WordPressのトラブル解決をしてくれるサービスなどに調査を依頼する前に試して見てください。 なお、toiee Lab は、個別具体的なテクニカルサポートは提供していません。

目次


エラーの原因とは?

エラーが起こる原因は、様々考えられます。主に以下の中から、原因を特定することが必要です。

  • 利用しているテーマにエラーがある
  • 利用しているプラグインがエラーしている
  • WordPress自体にエラーがある
  • レンタルサーバー上の問題(メモリ、ディスク、アクセス負荷など)
  • ネットワーク上の問題(DNS、通信エラー)

エラーを特定する方法は、変化した場所 を中心に探すことです。

変更を元に戻す

まず、エラーが起こる前の状態に戻すのが一番です。なんらかの変更を行ってエラーが発生したのであれば、元に戻すことで、正常な状態になるはずです。まずは、この作業を行います。

元に戻した結果、それでもエラーが起こっているとなれば、「別の原因」を考えることもできます。

エラー情報を表示する

エラーの原因を特定するには、情報が必要です。WordPressでは「エラー情報を表示するモード」にすることができます。これをデバッグモードといいます。

デバッグモードを有効にするには、以下のように WP_DEBUG を true とします。


レンタルサーバーによっては、PHPのエラーを表示させない設定がされていることがあります(ロリポップなど)。この場合、デバッグモードにしても、エラーが表示できないことがあります。

レンタルサーバーのPHP設定で、以下のような設定を行ってください。


エラー情報を使って検索する

エラーが表示されるようになれば、表示されたエラーメッセージを検索にかけたりすることで、エラー原因や、解決策を探すことができます。

よくあるエラー

PHPのバージョンアップによるエラー

PHPのバージョンを7.1にすると、古いPHPプログラムが動かなくなります。例えば、以下のようなエラーメッセージは、プログラムそのものが間違っている時に表示されます。

  • Parse error: syntax error, unexpected ‘new’ (T_NEW) …
  • Parse error: syntax error, unexpected ‘&’ in …

どちらも、ソースコードを修正することで解決します。
参考 : 下位互換性のない変更点

主に

  • strip 関数 を preg_split や explode で置き換える
  • ereg関数 を preg_match などに置き換える
  • クラス定義でコンストラクタを、 __costructorメソッドを使う
  • オブジェクト作成時に参照渡し (&を使う) しない
  • 関数の実引数の時に、参照渡し(&を使う) しない

で解決します。

MySQL バージョンアップに伴うもの

MySQLのバージョンを5.6にアップすると「パスワード」の方式が変わるため、これまで接続できていたWordPressが「データベース接続エラー」を起こすことがあります。(MySQL4 から 5.1でも同様です)。

この場合、シンプルに「データベースユーザーのパスワードを再設定する」だけで解決します。同じパスワードをレンタルサーバーの管理画面などで、設定すれば解決します。