スポンサーリンク

WordPress更新失敗で管理画面が真っ白に。ログインできない。復旧までの作業メモ( 500 Internal Server Error )

WordPressにログインできない Web開発

朝起きたら、WordPressの管理画面にログインできなくなりました。500エラーです。
 
いやぁ、何回か経験しているんですが、これは毎回ホント焦りますね。

今回はフロント画面は表示されているが管理画面側はまるで真っ白。
ログインできない状態。

というわけで、復旧作業を行ったときのメモです。

スポンサーリンク

まずは、サーバーにログインできるか


まずはFTP でサーバーにログインできるかどうかを確かめます。

またはレンタルサーバーのファイル管理ツールなどにログインしてみます
この時点でサーバーにログインできなければサーバー側の問題である可能性が高いので
サーバー管理会社の障害情報などを確認します。

無事ログインできているのであれば、
WordPress側の問題である可能性が高いので、調査を進めます

.maintenanceファイルが残っていれば削除


WordPress の更新に失敗した場合、
.maintenanceファイルが原因で、フロントページや管理画面が正しく表示されないことがあります
このファイルが残っていたら、削除します。

「.htaccess」をバックアップに戻してみる

キャッシュプラグインを使っている場合
更新作業に伴う、.htaccess ファイルの書き換えに失敗して画面が表示できなくなることがあるようです。

一旦現在の.htaccessファイルをバックアップした上で、以前のバックアップに戻してみます。
今回の場合はこれでもうまくいきませんでした

WordPress のデバッグモードを使う


define('WP_DEBUG', false);
 ↓
define('WP_DEBUG', true);

WordPress のデバッグモードをTrueにすると、エラーメッセージの詳細が表示されます。
 
今回はデバッグモードにしたら、一発で原因になっているモジュールがどれか分かりました。

指定されたクラスが見つからない、というエラーが出ていたので、
ファイルのダウンロードに失敗しているのでは? とあたりがつきました。

おそらく、WordPress5.0から導入されたファイルが、
うまくダウンロードできなかったのでしょう。

というわけで、WordPress5.0 をダウンロードして
手動でWP-includes以下のファイルを再度アップロードし直しました。

今回はこれで、無事に表示されるようになりました。
 
いやぁよかった。

そもそも何で自動更新失敗したの?

その後、サーバーのログを確認したところ、

アクセスの集中している時間帯に、WordPress の自動更新が始まり、
途中で処理しきれなくなって PHP の処理が中断していたようです。

そこで PHP の設定を少し変更して、多少負荷をかけても
処理が途中で中断しないように変更してみました。