疲労民雑記

個人的な出来事など。人の役に立つような記事は無いと思います。

【備忘録】Wordpressの「このサイトで重大なエラーが発生しました。」で管理画面が開けない

 

事の発端

ブログ更新しようかなと、管理画面にログインしたら「WordPress 6.3 が利用可能です ! 今すぐ更新してください。」の文字があったので、更新をしたら上の画像のような表示になってしまった。

対処

これはまずいと思ったが、管理画面がこの表示で何もできず、とりあえず「このサイトで重大なエラーが発生しました」でググって対処法を探す。

結構な数のページが出てくるが、どこも書いてあるのは以下のようなこと。

  • PHPメモリの上限を変える
  • プラグインを全停止(FTPを使って)
  • デフォルトテーマに変える
  • デバッグモードでログ出してそこから解決しろ

メモリは違った。プラグインを止めてみたが、逆に他のエラーが出てしまってわけわからんからやめた。テーマ変えるにも管理画面に入れなくて、phpMyAdminから変更してみるも状況変わらず。

そもそも、テーマをいま使っているものしかインストールしていなくて、これもデフォルトテーマをFTPでアップロードしてからやったし。

 

デバッグモードはwp-configに記述を追加してログを出してみた。すると、いま使っているテーマ(simplicity2)がどうこう言われていて、このテーマはいまではCocoonが後継となっているからとっくに使われていないから、もしかするとテーマが古すぎてWordpress6.3ではもう対応してくれないのかと思った。

こう思ったことで解決までに多少時間を要してしまったが。

 

話の順番が前後しているが、テーマのせいだと決めつけたので、デフォルトテーマに変えようと思ったのが正しい順番。いろいろなphpファイルを見て、どのファイルでテンプレートの呼び出しをかけているのかなんてことを延々と調べてしまった。そういうのはDBに書かれるもんだろ。

 

解決

分からなさすぎて、もうブログの更新ができなくなるのかと半ばあきらめモードだったが、もういちどデバッグログを見ると、以下の記述を見落としていた。

#0 (※省略)wp-content/db.php(56): W3TC\Util_Environment::is_dbcluster()
#1 (※省略)wp-includes/load.php(666): require_once('/home/...')
#2 (※省略)wp-settings.php(124): require_wp_db()
#3 (※省略)wp-config.php(94): require_once('/home/...')
#4 (※省略)wp-load.php(50): require_once('/home/...')
#5 (※省略)wp-admin/upgrade.php(18): require('/home/...')
#6 {main}  thrown in (※省略)

とりあえずこれをひとつずつ潰していくかと、#0の「Util_Environment::is_dbcluster()」でググったら、海外のQAサイトが出てきて読んでみた。するとそこには以下のようなことが書かれていた。

 

wp-content/db.phpの56行目

変更前:|| \W3TC\Util_Environment::is_dbcluster() ) 

変更後:|| \W3TC\Util_Environment::is_dbcluster( $config ) )

 

これで復活したと書かれているコメントもあったので、俺も早速db.phpを書き換えてみた。

 

そしたら見事復活!!!!

 

いやー、助かった。もう終わったと思ってたから感謝ですよ、海外の方。

参考までにリンク。

wordpress.org

 

多くは、重大なエラーの結果、サイトが表示されないといった事象を取り上げていたんだけど、俺の場合はサイトはちゃんと表示されるものの、管理画面だけがエラーで怒られるという状況だったので、いろいろ解決策を試してもうまくいかなかった。

とりあえず、正常稼働に戻ったので良しとする。

 

もし同じような人がいたときのために、メモとして残しておく。