霜月三日、昼。出城攻め、いざ決行。
ただし、ひとつ進むたびに総大将のGOを取る、慎重な進軍である。
段階〇、段階一、段階二……。戦は、思いのほか静かに終わった。
だが、勝ち鬨は上がらなかった。PHPは、まだ古いままだったからだ。
※ 時代劇風の語りは演出です。この回の作業は、実際に公開中のサイトへの本番作業です。ただしPHPは切り替えていません。
段階ごとにGOを出して進める
出城(uberとinvestor)をWATABOKORIへ移し、chucosの公開を止める。目的は、PHPを新しくしても出城が崩れない状態を、本番に作ることです。PHPの切り替えそのものは、この日の範囲に入れていません。手順書では、24時間様子を見たあと、別のGOで行うことになっています。
進め方は、手順書どおりに段階ごとにGOを出し、確認が通らなければ止まる。削除はせず、元に戻せる形で行う。実施記録によれば、作業は12:30から13:17までです。
段階0:バックアップ(PASS)
ファイル一式(約3.7GB)は、アーカイブの中の8万1千余りの項目を最後まで読み取れることを確認しました。データベース7件はすべて正常に書き出し終了、SHA-256も記録済み。uber、investor、chucosのデータベースは、ローカルのMySQL 5.7に復元できることまで確認しています。

段階1:chucos(PASS)
サーバーパネルのアクセス制限で、chucosだけを非公開にしました。トップとログイン画面が「認証が必要」になることを確認済みで、ファイルとデータベースは残しています。注意点は、このフォルダにはアクセス制限用のユーザーを登録していないので、誰も(本人も)閲覧できないことです。戻すときは、アクセス制限をOFFにします。
段階2:uber(PASS)
WordPressを6.0.2から7.1.4へ更新し、プラグイン2件も更新。WATABOKORIの親テーマ、簡易版テーマ、互換プラグインを導入して、旧テーマ付属などのプラグイン5件を停止(削除なし)し、テーマをWATABOKORI簡易版に切り替えました。すべて成功です。
段階3:investor(PASS)
同じ手順で、WordPressを6.1.1から7.1.4へ。プラグイン6件を更新し、旧テーマ付属などのプラグイン8件を停止(削除なし)して、テーマを切り替えました。こちらもすべて成功です。
段階4:stg
変更なし。外からは見えないままにしています。
段階5:全サイトの確認(PASS)
uberとinvestorは、全URLのステータスが予行演習と一致しました。タイトルは維持、OGPあり、GA4とAdSenseの出力なし、記事に目次あり、AMP用URLは301転送、生のショートコードなし、PHPエラー表示なし。管理画面も表示でき、下書きの作成・更新・ゴミ箱への移動に成功しています。本体、gadget、otokuは表示OK(変更なし)。chucosとstgは認証が必要な状態。menuとwoltは表示OKでした。
サーバーパネルのPHPは7.4.33のままです。8.5.12も選べる状態であることは確認しました。

巻き戻しは起きなかった。でも、記録に残った点はある
今回の本番作業で、ロールバック(巻き戻し)は発生していません。ただし、気になる点が記録に残っています。
- investorのトップの配置:動画ブロックが、記事一覧の最初の枠に入り、記事のカードと横に並んで表示されます。表示は崩れていませんが、予行演習ではこの配置までは確認していませんでした。修正は別工程です
- 原因を特定できなかったエラー:サーバーのエラーログに、作業前の11:54の「サイトマップのSQLエラー」が1件ありましたが、どのサイトで起きたかは記録から特定できません。内部リダイレクトの回数超過(AH00124)の記録もありました。どちらも作業より前から出ていたもので、13:05頃以降の記録は0件でした
- 本番に残ったもの:uberとinvestorに、下書きテストの投稿が1件ずつゴミ箱に入っています(完全削除はしていません)
出城は片づいた。でも、PHPはまだ古い
解決したことをまとめると、uberとinvestorがWordPress 7.1.4とWATABOKORI簡易版に移行し、chucosは公開停止になりました。PHPを新しくしたときに全滅する「人質」の状態は、本番で解消できています。
とはいえ、PHPはまだ新しくなっていません。本題の「PHPの最新版への追従」は、ここからです。残っているのは次の7つ。
- PHP 8.5.12への切り替え(本人の別のGO待ち)。2026年11月4日13:20以降にuberとinvestorの表示とエラーログを確認し、問題がなければ切り替えて、その後1週間のエラーログ監視
- 本体サイトのOGPの復旧
- investorのトップの動画ブロックの配置の修正
- stgの整理(作業用ファイルの削除、サイトの削除)
- 本体サイトの、配布が終わったプラグインの整理
- バックアップの暗号化の方法(現在は暗号化されておらず、このPCだけにある)
- 自動更新の設定。uberとinvestorは「新しいバージョンごとに自動更新」の設定になっています(もともとの設定で、今回は変更していません)
この回の記録
- 作業日:2026年11月3日。12:30〜13:17(日本時間、実施記録に明記)。結果の判定は13:17
- 環境:本番(実際に公開中のサイトへの変更あり)。PHPは切り替えていない。各段階のGOに基づいて実施
- 進捗:12マイルストーンのうち 10/12(M9 chucosの公開停止、M10 uber・investorの移行)。残りはM11 PHP 8.5.12への本番切替、M12 切替後1週間の監視。WordPress最新版に到達したサイトは 5/7(gadget、otoku、本体、uber、investor。残る2サイトは非公開)。旧テーマで公開中のサイト(WebLifeLab配下)は0(chucosとstgは認証つきで非公開のまま、旧テーマが残る)。PHPを最新にしたサイトは0(7.4.33のまま)
- 進捗率は「マイルストーンの数」で数えたもので、作業量や難しさは重みづけしていません
- 原稿の執筆時点:2026年11月3日
第一章 AI時代・PHPの乱 第6話
戦果発表
第6話が終わった時点(この数字は固定です)
- 達成段階0 バックアップ取得(ファイル全件読取・DB7件・SHA-256)
- 達成段階1 chucosの公開停止(401確認)
- 達成段階2 uber → WP 7.1.4+WATABOKORI簡易版
- 達成段階3 investor → WP 7.1.4+WATABOKORI簡易版
- 達成段階5 全サイト確認(ロールバックなし)
- 未着手PHP 8.5.12への切替11/4 13:20以降に様子見→本人のGO待ち
- 未着手切替後1週間の監視
全12工程中の達成
83.3%
10/12 工程を達成
12工程の内訳を見る
- 達成 現状調査(本番変更なし)(本番は読み取りのみ)
- 達成 ローカルの復元・検証環境の構築(ローカル)
- 達成 WATABOKORIのローカル検証に合格(PHP 7.4〜8.5・SEO主要項目・AMP転送)(ローカル)
- 達成 本体をWordPress 7.1.4へ更新(本番)
- 達成 本体をWATABOKORIへ切替(本番)
- 達成 本体のGA4・AdSenseの本番確認(本番)
- 達成 旧サブドメインの方針決定と本人承認(WATABOKORI統一)(判断)
- 達成 旧サブドメイン用の試作・予行演習に合格(ローカル)
- 達成 chucosの公開停止(アクセス制限)(本番)
- 達成 uber・investorをWordPress 7.1.4+WATABOKORI簡易版へ移行(本番)
- これから PHP 8.5.12へ本番切替(本番)
- これから 切替後1週間のエラーログ監視(本番)
達成率は「全12工程のうち、達成した工程の数」を12で割ったものです。作業時間や難しさによる重みづけはしていません。上の戦果の項目は各話の出来事の記録で、工程の数とは別に数えています。
現在のプロジェクト全体(随時更新)
83.3%(10/12 工程)
2026-11-03 13:17 JST(本番実施記録の判定時点。原稿作成時点で確認できた最新の記録)
次回予告
出城はそろった。残るは最後の号令、「PHPを、最新へ」。ただし、これで終わりではない。切り替えたあとの一週間が、本当の見張りの始まりになる。その結果は、いまのところ、誰も知らない。
――第七話『いざ、PHP 8.5.12へ――壊れた3つと、捨てた29個』
連載「AI時代・PHPの乱」