WordPressの自動アップグレードによるトラブル
トップページへ
記事を書いて投稿するまでが簡単なワードプレスですが、唯一、嫌いな点が「ワードプレス本体の自動アップデート機能をオフにできないこと」です。
裏技ではなく標準でオン・オフにして欲しいです。
そのうえで、私が体験したトラブルから解決まで書きますが、当方はエックスサーバーの領域を借りているので、読者様によっては「役に立たない内容」が含まれる可能性がある点、読まれたうえでのトラブルにおいて、当方は一切の責任を負いません。
トラブルの発生時期
WordPress 6.4への自動アップグレード
(バージョンが6.3.2でも同様のことがありました)
発生した不具合の症状
1 ログイン画面は表示されるがログインできない。
2 1に加え、サイトの閲覧ができないサイトもありました。
先に結論だけ
●WordPressの手動アップグレードをして、レンタルサーバー側の定時リセットで解決しました。(詳細は後述)
不具合が直ったタイミング
A サーバーのリセットで直りました。
ただし、これはレンタルサーバー(以下、レンサバ)側が毎日定時で行っているため、当方がリセットをしたわけではありません。
B Aのリセットでも直らないサイトがありました。(以下に続きます)
自分なりの対策を試しました
C レンサバ側が行っている自動バックアップから、不具合発生前の日付からバックアップを復元しましたが、改善できませんでした。
D Cで改善しなかったので、公式サイトの「WordPressのアップグレードの手動更新」の方法を丁寧に読みながら、最新版のワードプレスのバージョンにアップグレードを慎重に行いました。ですが、この時点では改善されませんでした。
手動更新の注意点
●操作を間違えると、記事の全て、アップロードした写真などをすべて失う可能性が大いにあります。時間のある時に慎重に行うこと、自信がない人は詳しい人に任せることをオススメします。
●前述の公式サイトにも明記されていますがwp-contentフォルダだけは絶対に削除してはいけません。最新のワードプレスのファイルをサーバー上へ「上書きコピーする」だけです。間違って削除してしまうと、おそらく復旧は無理です。
E【解決】Dでもダメだったので、仕方がないので放置し翌日にログインを試したらログインできました。
色々調べた結果と自分なりの推定ですが、「Dの手動インストール、Cのバックアップからの復元、いずれの場合でも、サーバーのリセットが必要ではないか?」です。
F 「問題が起きたサイトに登録しているメールアドレス」に下記のメールが届いていました。後日、このメールに気づいたので私は試してはいませんが、そのメールの内容の「リカバリーモード」にログインして改善できる可能性もあります。
件名:サイトで技術的な問題が発生しています
本文:こんにちは。
WordPress には、サイトでプラグインやテーマが致命的なエラーを発生させた場合にそれを検知してこの自動メールでお知らせする機能があります。
今回の場合、WordPress がプラグイン Broken Link Checker でエラーを捉えました。
まずはじめに、ご自分のサイト (https://xxxxxx.in-jpn.com/) を開き、目に見える問題がないか確認してください。次に、エラーが発生したページ (https://xxxxxx.in-jpn.com/wp-admin/about.php?updated) を開き、同様に問題がないか確認してください。
この問題をさらに調査するにはサーバーホストに連絡してみてください。
もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPress には特別な「リカバリーモード」があります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。
https://xxxxxx.in-jpn.com/wp-login.php?action=enter_recovery_mode&rm_token=0jHbnV9QxxxxxxxcWv&rm_key=LGnFxxxxxxxKbmOrnhrTp
サイトを安全に保つため、このリンクは1日に有効期限が切れますが、ご心配なく。有効期限後にこのエラーが再度発生した場合は、新しいリンクをお送りします。
この問題を解決するためにヘルプを求めた場合、以下の情報を尋ねられるかもしれません。
WordPress バーション6.4
現在のテーマ: xxxxx (バージョン 1.0.1)
現在のプラグイン: Broken Link Checker (バージョン 2.2.3)
PHP(楽天市場で探す ・ amazonで探す) バージョン8.1.22
エラー詳細
===============
エラータイプ E_ERROR が xxxxxx/wp-content/plugins/broken-link-checker/core/class-loader.php ファイルの 330 行目で発生しました。 エラーメッセージ: Maximum execution time of 180 seconds exceeded
▲メールはここまで▲
技術的なことを簡単に書きますと
ワードプレスのプログラム(PHP)はメモリ上に記憶した状態で動作します。
そのため、自動アップグレードで不具合が起きた場合、その悪い状態もメモリに記憶されたままとなっているため、「ログインできなかったり」「閲覧ができない」状態が延々と続くのだと思われます。
ですので、サーバー側の毎日の定時リセットでメモリ内が消去され、正常なプログラムに置き換えられて「直った」と思われます。
※補足
・ご自身の操作で「サーバーのリセットや再起動」が行える環境なら、不具合が起きてもリセットすればすぐに直る可能性はあります。
・私のレンサバではユーザーによるリセットはできない為、手動インストールや手動によるバックアップからの復元を行っても、すぐには不具合は直らなかったと思われます。
自動アップグレードの不具合に備え
自動をオフにできない現状、この不具合はいつ起こるかわかりません。ですので、ツール-エクスポートによる「記事のバックアップ(エクスポートファイルのダウンロード)」を定期的に行うことをオススメします。
Q.なぜ不具合が起きるのか?
A.サーバーへのアクセス状況によっては負荷がかかる時もあるので、負荷がかかっている時に自動アップグレードが起き、正常に終了できなかったのではないか?と推定しています。