出城攻め、決行――されど刀は納めず

戦国風のアイキャッチ。夜の山道で、兜とエプロンの人物が軍配を前に突き出し、松明を持つ軍勢を率いて進む。奥の山城の上に、複数の画面から一つの画面へ向かう矢印。「第六話 出城攻め されど刀は納めず」の文字

霜月三日、昼。出城攻め、いざ決行。
ただし、ひとつ進むたびに総大将の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:二画面のデスクのイメージ写真(写真AC素材)。実際の作業環境の写真ではありません

段階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も選べる状態であることは確認しました。

ラックが並ぶサーバールームの通路とケーブル配線のイメージ
図2:サーバールームのイメージ写真(写真AC素材)。実際のサーバーの写真ではありません

巻き戻しは起きなかった。でも、記録に残った点はある

今回の本番作業で、ロールバック(巻き戻し)は発生していません。ただし、気になる点が記録に残っています。

  • 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つ。

  1. PHP 8.5.12への切り替え(本人の別のGO待ち)。2026年11月4日13:20以降にuberとinvestorの表示とエラーログを確認し、問題がなければ切り替えて、その後1週間のエラーログ監視
  2. 本体サイトのOGPの復旧
  3. investorのトップの動画ブロックの配置の修正
  4. stgの整理(作業用ファイルの削除、サイトの削除)
  5. 本体サイトの、配布が終わったプラグインの整理
  6. バックアップの暗号化の方法(現在は暗号化されておらず、このPCだけにある)
  7. 自動更新の設定。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話が終わった時点(この数字は固定です)

  1. 達成段階0 バックアップ取得(ファイル全件読取・DB7件・SHA-256)
  2. 達成段階1 chucosの公開停止(401確認)
  3. 達成段階2 uber → WP 7.1.4+WATABOKORI簡易版
  4. 達成段階3 investor → WP 7.1.4+WATABOKORI簡易版
  5. 達成段階5 全サイト確認(ロールバックなし)
  6. 未着手PHP 8.5.12への切替11/4 13:20以降に様子見→本人のGO待ち
  7. 未着手切替後1週間の監視

全12工程中の達成

83.3%

10/12 工程を達成

12工程の内訳を見る
  1. 達成 現状調査(本番変更なし)(本番は読み取りのみ)
  2. 達成 ローカルの復元・検証環境の構築(ローカル)
  3. 達成 WATABOKORIのローカル検証に合格(PHP 7.4〜8.5・SEO主要項目・AMP転送)(ローカル)
  4. 達成 本体をWordPress 7.1.4へ更新(本番)
  5. 達成 本体をWATABOKORIへ切替(本番)
  6. 達成 本体のGA4・AdSenseの本番確認(本番)
  7. 達成 旧サブドメインの方針決定と本人承認(WATABOKORI統一)(判断)
  8. 達成 旧サブドメイン用の試作・予行演習に合格(ローカル)
  9. 達成 chucosの公開停止(アクセス制限)(本番)
  10. 達成 uber・investorをWordPress 7.1.4+WATABOKORI簡易版へ移行(本番)
  11. これから PHP 8.5.12へ本番切替(本番)
  12. これから 切替後1週間のエラーログ監視(本番)

達成率は「全12工程のうち、達成した工程の数」を12で割ったものです。作業時間や難しさによる重みづけはしていません。上の戦果の項目は各話の出来事の記録で、工程の数とは別に数えています。

現在のプロジェクト全体(随時更新)

83.3%(10/12 工程)

2026-11-03 13:17 JST(本番実施記録の判定時点。原稿作成時点で確認できた最新の記録)

次回へ続く――

第七話以降は、PHP切替の結果が出てから制作

次回予告

出城はそろった。残るは最後の号令、「PHPを、最新へ」。ただし、これで終わりではない。切り替えたあとの一週間が、本当の見張りの始まりになる。その結果は、いまのところ、誰も知らない。

――第七話『いざ、PHP 8.5.12へ――壊れた3つと、捨てた29個』


連載「AI時代・PHPの乱」