WordPressのサーバ環境PHP7.4→PHP8.0のアップデートに伴う不具合、そしてリカバリー記録

PHP7.4が昨年2022年11月でサポートを終了した。
ようやく重い腰を上げて、推奨バージョンPHP8.0に切り替えを行った。

といっても、サーバパネルのPHPのバージョンをプルダウンから選択するだけなので、いたって簡単な作業。

合わせて、WordPressの最新バージョン6.2へのアップグレード、プラグインの更新も完了した。

この時点で管理ページやWEB表示に問題がなかったので、そのまま終了。

あらまぁ、その4日後にサーチコンソールから「問題が発生しました」メッセージが届く。
完全に油断してました。

サーチコンソールからサーバーエラー(5xx)の検出
サーチコンソールからサーバーエラー(5xx)の検出

該当URLにアクセスすると、以下のエラーメッセージが表示されて、ページが表示されていない。

Fatal error: Unparenthesized a ? b : c ? d : e is not supported. Use either (a ? b : c) ? d : e or a ? b : (c ? d : e) in /…../wp-content/plugins/wp-social-bookmarking-light/vendor/twig/twig/lib/Twig/Node.php on line 42

ソーシャルアイコンのプラグインエラーである。

すぐに管理ページにログインし、該当プラグイン「WP Social Bookmarking Light」を無効化。
直ちに問題解決!ソーシャルアイコンなしのブログ記事が正しく表示された。

「WP Social Bookmarking Light」このプラグイン、最終更新: 5年前とずいぶん昔に更新がストップしていた。そのため、環境変化でとうとうエラーを起こしたということだ。

代替プラグインとして、「AddToAny Share Buttons」を導入した。

※最終更新日が古いプラグインを調べて、継続の有無などきちんとした見直しが必要である。

ログを残すため、新規ブログを書こうと「新規投稿」をクリックすると、一瞬上部に「Warning:・・・」エラーメッセージが表示されるが、直ぐに消えてしまい内容がわからない。

何度も更新するも、一瞬表示してすぐに新規投稿画面になる。
コンフィグファイルで、デバッグモードに変更しても変わらない。ブラウザの大きさを変化させて、投稿ページのヘッダーに被さっているエラー内容を読み解く。

Warning: Undefined array key “ps_editor” in /…../wp-includes/class-wp-scripts.php on line 266

検索すると行数まで一致しないが、PHP8.0でエラーが出ているという記事が数件ヒットする。

このメッセージは、管理ページの他のメニューでは表示されないので、新規投稿ページで使用するプラグインが関係しているのではないかと、All in One SEOなど怪しいプラグインを無効化してみる。

無効化を繰り返していると、「PS Disable Auto Formatting」プラグイン、プラグイン一覧で他のプラグインに表示されている「詳細を表示」リンクがない?

調べてみると、プラグインページは存在していたが、なんと昨年クローズドしていた。

ast updated:8 years ago

This plugin has been closed as of October 27, 2022 and is not available for download. Reason: Guideline Violation.

https://wordpress.org/plugins/ps-disable-auto-formatting/

ビジュアルエディタとテキストエディタを切り替えた際に、pタグなどが自動整形されないようするプラグインであった。WordPress運用初期のころに導入したものだとなんとなく記憶にあった。

これを停止すると、Warningメッセージが消えた。

先にも述べたが、

※最終更新日が古いプラグインを調べて、継続の有無などきちんとした見直しが必要である。

とりあえず、サーチコンソールに修正依頼を送信して、この新環境での様子見となった。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です