WordPressの更新に失敗したときの対策
WordPressで更新に失敗すると画面が真っ白になって焦るかもしれません。原因によっては簡単に復旧できない場合もありますが、原因になっているプラグインを削除したり、不足しているフォルダをアップロードすれば解決される場合もあります。
以下、更新に失敗したときの対策を紹介します。あくまで1つの対策にすぎませんが、トラブルが起きたときの参考にしてください。
この記事の内容
具体的なエラーメッセージを表示する
WordPressの更新に失敗すると画面が真っ白になったり「ページは機能していません。現在このリクエストを処理できません。HTTP ERROR 500」のような漠然としたエラーメッセージが表示されます。この状態では問題を特定できないので、具体的なエラーメッセージを表示してみましょう。
それには、設定ファイル(wp-config.php)のWP_DEBUG定数をtrueに設定します。
define('WP_DEBUG', true);
以下のページも参考にしてください。
WordPressでエラーメッセージを表示するにはWP_DEBUGでデバッグモードに
エラーメッセージから「Fatal error」を探す
表示されたエラーメッセージのうち、直接的なエラー原因を示すのは「Fatal error」(重大なエラー)です。この文字をエラーメッセージから探してみましょう。
Fatal errorについては以下のページも参考にしてください。
WordPressで画面が真っ白になったら「Fatal error」を探せ!
Fatal errorが示すフォルダなどを削除する
あとは、Fatal errorの内容に従って対処すればよいのですがPHPに慣れていないとエラーメッセージの解読は難しいです。ですから、現実的な対応は、エラーメッセージを深追いせず、原因になっているプラグインやテーマファイルを削除することです。
次の例ではpluginsフォルダのsample-plugin-abcフォルダにあるgallary.phpが原因だとわかります。PHPに慣れていないとgallary.phpのエラーを修正するのは無理でしょうから、単純にこのプラグインフォルダ(sample-plugin-abcフォルダ)を消してしまうのが現実的な対応です。
上記のようなエラーメッセージが示すプラグインの他に、最近インストールしたプラグインを疑ってみるのも1つの手です。詳しくは、以下のページも参考にしてください。
原因不明のWordPressトラブルには「最近インストールしたプラグイン」を削除!
足りないフォルダなどをアップロードする
原因のファイルを削除して解決できれば単純かもしれませんが、逆にファイルが不足している場合もあります。
たとえば、WordPressの更新途中で別の画面に移動してしまった場合です。
この場合、システムファイルのコピーが不完全な状態で終わり、新バージョンを実行できないために画面が真っ白になります。
その場合の典型的なエラーメッセージは次のようになります。
長いエラーメッセージを見ても意味がわからないかもしれませんが、4つのパーツに分けると次のようになります。
- Fatal error --- 重大なエラーがあります。通常はここで処理が停止して画面が真っ白になります。
- require() --- requireという命令が原因です。この命令はファイルを読み込む命令です。
- Failed opening required --- requireで指定されたファイルが読み込めませんでした。
- …/wp-includes/rest-api/endpoints/class-wp-rest-controller.php --- 読み込めなかったファイルはこれです。
つまり、必須ファイルのclass-wp-rest-controller.phpが読み込めないため、これ以降の処理を継続できず、画面が真っ白になるという仕組みです。
このエラーメッセージ「Fatal error: require(): Failed opening required 」を見たら、そのファイルが存在するかチェックしてみましょう。
この例でも実際に、wp-includes/rest-apiフォルダを開いてみると、endpointsというフォルダ自体が存在しないことがわかります。そのため、class-wp-rest-controller.phpという必須ファイルを読み込めずにFatal errorが発生したと推測できます。
対処としては、サーバーで実行中のものと同じバージョンのWordPressをWordPress公式サイトからダウンロードして、不足しているフォルダまたはファイルをアップロードしてみる方法があります。
この例ではwp-includes/rest-apiフォルダに不足していたendpointsというフォルダをコピーしてみます。
そのフォルダが不足していたことが原因であれば、システムエラーが解決してサイトが復旧します。
最終手段はwp-admin・wp-includesを上書き
ここまでの手順で真っ白画面が解決しなかったり、そもそもエラーメッセージが表示できずに原因がわからない場合は力業です。ダウンロードしたWordPressパッケージに含まれるwp-adminフォルダとwp-includesフォルダをサーバーにアップロードして上書きしてみましょう。
結局、これは手動でWordPressを更新するのと同じことなので、更新が失敗したときは最初に行う手順なのかもしれませんが、、、
まとめ
WordPressの更新が失敗して画面が真っ白になると焦りますが、原因特定のために具体的なエラーメッセージを表示させたり、原因になっていると思われるプラグインやテーマを削除してみるなど、できる範囲で対処してみましょう。