真っ白になった場合の解決手順
WordPressを利用しているときに、真っ白になり「ページが表示しません」や「応答がありません」などが、ブラウザに表示されるようになった場合の解決手順を示します。
目次
エラーの原因とは?
エラーが起こる原因は、様々考えられます。主に以下の中から、原因を特定することが必要です。
- 利用しているテーマにエラーがある
- 利用しているプラグインがエラーしている
- 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でも同様です)。
この場合、シンプルに「データベースユーザーのパスワードを再設定する」だけで解決します。同じパスワードをレンタルサーバーの管理画面などで、設定すれば解決します。