WP PHPとMysqlの同時メジャーアップデートでトラブル発生!〜2日掛かりでなんとか復旧です

8/3〜8/4にかけてWEBサイト記事にアクセス不可・Access Forbidden状態に陥りましたが、なんとか復旧にこぎ着けました。来訪ユーザー様にはご迷惑お掛けしました。
我が家のWPサイトはサブディレクトリで管理しています。メジャーアップデートが必要なときは、バックアップサイトをローカルでアップデート検証後に新規のサブディレクトリを作ってアップロード。動作確認後に新サブディレクトリ版に切り替えて公開、という手順で実施するようにしております。
我が家のサイトも20年以上経つ(WP2.0 →WP6.x)のでメジャーアップデート時の数回で大なり小なりトラブルに見舞われていますが。今回も見事にやられてしまいました。現在のWordPressのバージョンは最低でも6.6以上が望ましいとアナウンスされており、PHPについてもアップデート推奨が管理画面に出るようになってたのが気になり始めPHP バージョンを8.xに変更するにあたっては、事前にPHPスクリプトやプラグインの問題対策をローカル環境でおこなった...つもりでいましたが、どうやらあらためてローカル環境を作るアップデート直前でのWPバックアップソースに問題があったようでけっこうに泥沼にはまってしまいました。

実際の処、PHP、MySQLのアップデート更新などサポート打切警告でも出ない限り、長年放っといてもなかなか実害が発生することは稀で、ユーザーはほとんど気にしないし気にもしないというのが実情に近いと思います。しかしながらWordPressで作ったサイトのセキュリティ対策は自己責任、「よくわからないし面倒」という理由で放置しつづけると潜在リスクは格段に上がってしまいます。
WordPressの公式ページでは下記バージョンのPHP、MySQLを使用することを推奨しております。
- PHP バージョン 7.4 以上 (実質8.0以上)
- MySQL バージョン 8.0 以上、または MariaDB バージョン 10.5 以上
- HTTPS サポート

MySQL8.0以前のバージョンについては公式のセキュリティサポートが既に終了しているし、WP6.6以上にアップデートするにはPJHP8.x、MySQL8系に同時アップデートさせるのが望ましいワケですね。
PHPのアップデート更新→バージョン8.3系へ
最近ではレンタルサーバーでの標準インストールサポートもバージョン8系、サーバーサイドのコンパネでPHPバージョンを切り替えるだけで済ませられるのでお手軽な話なのですが。古いPHPスクリプト記述のままだったりサポートが止まってしまった古いプラグインを使い続けていたりすると「重大な支障警告」が表示されてしまうこともあります。ただサーバーサイドのコンパネでPHPバージョンを元に戻せば復旧してくれるので慌てず原因を探しましょう。
Mysqlのアップデート更新→バージョン8.0系へ
前述のとうりWordPress最新版の推奨する推奨するMysqlデータベースのバージョンは8.0系以上、最新バージョンは9.1系もサポート対象に加わりました。WPバージョン5系でもMysqlのバージョンは8.0系はサポートされるので早めにアップデートしたいところですが、サポートが止まってしまった古いプラグインの互換性の問題はあるし、Mysqlのバージョン自体のアップデート手順はクソ面倒くさいですから二の足を踏むのはよくわかります。
アップデート時の問題点抽出・対策と簡単アップデート更新
今回も大転けしたジブンが言うのも何ですが... ローカル環境でしっかりシュミレーションして対策改善、対応確認してから本番サイトのアップデートに臨むのは基本中の基本です。

LOCAL(旧local by flywheel)だとWPベースの新規環境作成時に アップデート対象のMysqlデータベースのバージョンも任意選択出来ますし、コンパネでPHP バージョンをアップデート選択するだけで対応確認が簡単にできます。
![]()
プラグイン:All-in-One WP Migration を利用すると、WEBサイトリソースのコピーアップデートも嘘のようにほとんど手間要らずで完了しますが....コピーアップデート前の運用中WEBサイトのリソースに問題が無いのを前提にしてますから、事前に運用中WEBサイトのヘルスチェックを済ませてからアップデート作業に移行しましょう。そうしないとジブンのように大転けして原因探すのに泥沼掘ることに成りかねません。
我が家のブログサイトでの追加修正(備忘録)
- 新サブディレクトリにインポートする際、キャッシュ関連は全削除、機能停止のこと。
- 新サブディレクトリにインポートする際、システム系のDB記述はほとんど自動修正されるが、プラグイン関連の記述は書き換わらない場合がままあるので念入りにチェック
- フロントメニュー/HOMEがサブディレクトリへのリンクだったのでトップドメインに修正
- Pz-Cardプラグインの記事内リンクが全てサブディレクトリ経由に変換されていたので、パーマリンクに合わせて検索・置換。またリンクキャッシュは全削除。(プラグイン関連やキャッシュ系で表示がうまくいかない場合が多いので念入りにチェック)



