WordPressの更新に失敗したときの対策

WordPress個別サポート

WordPressで更新に失敗すると画面が真っ白になって焦るかもしれません。原因によっては簡単に復旧できない場合もありますが、原因になっているプラグインを削除したり、不足しているフォルダをアップロードすれば解決される場合もあります。

以下、更新に失敗したときの対策を紹介します。あくまで1つの対策にすぎませんが、トラブルが起きたときの参考にしてください。

具体的なエラーメッセージを表示する

WordPressの更新に失敗すると画面が真っ白になったり「ページは機能していません。現在このリクエストを処理できません。HTTP ERROR 500」のような漠然としたエラーメッセージが表示されます。この状態では問題を特定できないので、具体的なエラーメッセージを表示してみましょう。

更新失敗の原因を調べるため具体的なエラーメッセージを表示する

それには、設定ファイル(wp-config.php)のWP_DEBUG定数をtrueに設定します。

define('WP_DEBUG', true);

以下のページも参考にしてください。

WordPressでエラーメッセージを表示するにはWP_DEBUGでデバッグモードに

問題が解決したらWP_DEBUG定数をfalseに戻すのを忘れないようにしましょう。

エラーメッセージから「Fatal error」を探す

表示されたエラーメッセージのうち、直接的なエラー原因を示すのは「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の更新途中で別の画面に移動してしまった場合です。

この場合、システムファイルのコピーが不完全な状態で終わり、新バージョンを実行できないために画面が真っ白になります。

その場合の典型的なエラーメッセージは次のようになります。

更新に失敗して「Fatal error: require(): Failed opening required …」

長いエラーメッセージを見ても意味がわからないかもしれませんが、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が発生したと推測できます。

フォルダが足りない(Fatal errorの原因に)

対処としては、サーバーで実行中のものと同じバージョンのWordPressをWordPress公式サイトからダウンロードして、不足しているフォルダまたはファイルをアップロードしてみる方法があります。

この例ではwp-includes/rest-apiフォルダに不足していたendpointsというフォルダをコピーしてみます。

不足していたフォルダを戻す

そのフォルダが不足していたことが原因であれば、システムエラーが解決してサイトが復旧します。

サイトが復旧する
ここでコピーしたフォルダは、あくまでこの記事の例です。同じフォルダをコピーしないようにしてください。

最終手段はwp-admin・wp-includesを上書き

ここまでの手順で真っ白画面が解決しなかったり、そもそもエラーメッセージが表示できずに原因がわからない場合は力業です。ダウンロードしたWordPressパッケージに含まれるwp-adminフォルダとwp-includesフォルダをサーバーにアップロードして上書きしてみましょう。

wp-admin・wp-includesを上書き

結局、これは手動でWordPressを更新するのと同じことなので、更新が失敗したときは最初に行う手順なのかもしれませんが、、、

サーバーファイルを上書きするので作業は十分に注意していただき自己責任でお願いします。

まとめ

WordPressの更新が失敗して画面が真っ白になると焦りますが、原因特定のために具体的なエラーメッセージを表示させたり、原因になっていると思われるプラグインやテーマを削除してみるなど、できる範囲で対処してみましょう。

WordPressトラブル