2026年10月21にPHPに深刻な脆弱性があると公表されました。WordpressはPHPを使用しえいるため、不正アクセスやサイト改ざんを防ぐため速やかなバージョンアップが必要です。
とはいえ、PHP の更新は「コマンド操作で失敗したらどうしよう」「サイトが真っ白になって動かなくなったら怖い」と不安になりがちな作業です。
そこで本記事では、Google Cloud(Compute Engine)で運用している WordPress サイトを対象に、万が一のトラブルに備えた事前バックアップ(スナップショット)の作成から、安全な PHP の更新、万が一エラーが起きたときのロールバック(復元)手順までを分かりやすく解説します。。
1. 全体の作業フロー
作業は大きく分けて以下の 4 ステップです。作業時間は約 15 分、Web サーバーの再起動に伴うサイトの停止時間は数秒〜数分程度です。
- バックアップ取得: Google Cloud コンソールからスナップショットを作成(安全のためのセーブデータ)。
- ブラウザ SSH 接続: サーバーに接続し、最新 PHP パッケージを導入。
- Web サーバー切り替え: 古い PHP モジュールを無効化し、新バージョンを有効化して Apache を再起動。
- 動作確認と後片付け: ブログの表示を確認し、数日後に不要なスナップショットを削除。
2. 作業前の安全対策:スナップショットの取得
プラグインやテーマの非互換性で画面が真っ白になっても、スナップショットがあれば数分で元の状態に戻せます。
- Google Cloud コンソール を開きます。
- [Compute Engine] > [ストレージ] > [スナップショット] を選択します。
- [スナップショットを作成] をクリックします。
- 名前:
wordpress-pre-php-update - ソースディスク: 対象 VM(例:
wordpress-1-vm)のブートディスクを選択
- 名前:
- [作成] をクリックし、ステータスが緑色の完了マークになるのを待ちます。


3. PHP アップデート手順(ブラウザ SSH 経由)
ステップ 1: VM に接続
[Compute Engine] > [VM インスタンス] 一覧を開き、対象 VM の右側にある [SSH] ボタンをクリックしてブラウザ上のターミナルを開きます。

現在動いている PHP バージョンを確認しておきます。
php -v
(例: PHP 7.4.33 や PHP 8.0.x などが表示されます)
ステップ 2: PHP 8.2 のインストールと Apache の切り替え
以下のコマンドを実行して、PHP 8.2 本体と WordPress の動作に必要なモジュールをインストールします。
# 1. パッケージ一覧の更新
sudo apt-get update
# 2. PHP 8.2 本体と必須拡張モジュールのインストール
sudo apt-get install -y php8.2 php8.2-mysql php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip libapache2-mod-php8.2
ステップ 3: Apache の切り替えと再起動
古い PHP モジュールを無効化し、新しい PHP 8.2 を有効化します。
# 古いモジュールの無効化(例: PHP 7.4 からの切り替えの場合)
# ※ 現在のバージョンに合わせて php7.4 や php8.0 を指定してください
sudo a2dismod php7.4
# 新しいモジュールの有効化
sudo a2enmod php8.2
# Apache を再起動して反映
sudo systemctl restart apache2
4. つまずきポイント:404 Not Found エラーが出た場合
Debian 11 (Bullseye) などの古い OS 環境で apt-get update を行うと、セキュリティリポジトリの URL 変更などにより以下のような 404 Not Found が出ることがあります。
Err:1 https://deb.debian.org/debian-security bullseye-security/main ... 404 Not Found
【対処法】
- すでに必要な PHP パッケージがインストールできる状態であれば、一部の補助ツールやアーカイブ化されたリポジトリの 404 エラーは一旦スキップしても問題ありません。
- パッケージ取得そのものが止まってしまう場合は、
/etc/apt/sources.list内の該当リポジトリ指定を archive 向けに修正するか、OS 自体のアップグレード(Debian 12 Bookworm 等)を検討してください。
5. マイナーバージョン(8.2.x や 8.3.x 内)の更新方法
すでに PHP 8.2 や 8.3 が入っており、同じバージョン系列内のセキュリティパッチ(マイナーアップデート)を適用したい場合は、以下のコマンドだけで完了します。
sudo apt-get update
sudo apt-get --only-upgrade install -y 'php8.2*'
sudo systemctl restart apache2
php -v
6. 動作確認と後片付け
- サイトヘルス確認:WordPress 管理画面(
/wp-admin)の [ツール] > [サイトヘルス] > [情報] > [サーバー] を開き、PHP バージョンが8.2.x等に切り替わっているか確認します。併せてフロント画面が正常に表示されるかチェックしてください。 - SSH 画面の終了:ターミナルで
exitと入力するか、ブラウザの SSH ウィンドウを閉じます。 - スナップショットの削除(数日後):サイトが 2〜3 日間問題なく稼働したことを確認したら、[Compute Engine] > [スナップショット] から作成したスナップショットを削除します(保管コストの削減)。


コメント