AIを活用したWordPress・PHPバージョンアップ時のエラー修正方法

2026年10月21日、PHPに「PHP2Shell」と呼ばれる深刻な脆弱性が公表されました。

IPA(情報処理推進機構)や内閣総理大臣もPHPの脆弱性対策について注意喚起を行っており、影響を受けるPHPを利用している場合は、対策済みバージョンへの速やかな更新が求められています。

これをきっかけに、自社や顧客のWebサイトのPHPバージョンを改めて確認した方も多いのではないでしょうか。しかし、PHPをすぐにバージョンアップできない場合もあります。

とはいえ、小規模なWebサイトや古くから運用しているサイトでは、そうした環境が充分に用意されていないケースもあるでしょう。
そこで今回は、開発環境が用意されていないWordPressサイトを対象に、生成AIとデバッグログを活用して、PHPやWordPressのバージョンアップを実行し、それに伴うエラーを修正する方法をご紹介します。

1. 事前にバックアップを取得する

まずは、WordPressの必要なファイルとデータベースのバックアップを取得します。

WordPressのファイルはFTP/SFTPでダウンロードし、データベースはサーバーに用意されているphpMyAdminなどのデータベース管理ツールからSQL形式でエクスポートします。

  • WordPressテーマ(wp-content/themes内)
  • プラグインファイル(wp-content/plugins内)
  • アップロードした画像などのメディアファイル(wp-content/uploads内)
  • wp-config.php などのWordPress本体の設定ファイル
  • データベース(SQL)

※PHPのバージョンは、利用中のレンタルサーバーなどで旧バージョンに戻せるかどうかも確認しておきましょう。

2. LightStartでメンテナンスモードにする

バージョンアップ作業中に、一般の訪問者へエラー画面が表示されないよう、WordPressをメンテナンスモードにします。簡単にメンテナンスモードにするためには、無料のWordPressプラグイン「LightStart」を使います。

WordPressプラグイン「LightStart」

LightStartは、メンテナンス中などのお知らせページを表示できるプラグインです。WordPressの管理画面からプラグインをインストール・有効化したら、以下のように設定します。

  1. 固定ページで「メンテナンスのお知らせ」を作成する
  2. LightStartの設定で、作成した固定ページを指定する
  3. メンテナンスモードを有効にする
  4. ログアウト状態やシークレットウィンドウで、お知らせページが表示されることを確認する

メンテナンス中の固定ページには、以下のような文章を掲載しましょう。

現在、システムメンテナンスを実施しております。
ご利用の皆さまには大変ご不便をおかけいたしますが、作業完了までしばらくお待ちくださいますようお願いいたします。

メンテナンス予定時刻:2026年◯月◯日 ○:◯◯から○:◯◯まで(予定)
※メンテナンス時刻は状況により前後する場合があります。

これで、一般の訪問者にはメンテナンスのお知らせを表示しつつ、管理者はログインした状態で動作確認を進められます。

3. WordPressのデバッグログを有効にする

続いて、PHPやWordPressで発生したエラーを記録できるようにします。
WordPressには、エラー情報を debug.log というファイルへ出力する仕組みが用意されています。

  1. FTP/SFTPでサーバーに接続し、WordPressのルートディレクトリにある wp-config.php を編集する
  2. /* That's all, stop editing! Happy publishing. */ という終了コメントより前の行に、以下の記述を追加する
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

※同じ定数がすでに定義されている場合は、重複して追加せず、既存の値を変更してください。
それぞれの意味は以下のとおりです。

定数内容
WP_DEBUGデバッグモードを有効にする
WP_DEBUG_LOGエラーをログファイルに記録する
WP_DEBUG_DISPLAYエラーを画面上に表示しない
display_errorsPHPのエラー画面表示を抑制する

これにより、通常は「/wp-content/debug.log」にエラーログが出力されるようになります。
(参考:WordPress公式デバッグ設定ドキュメント)

4. PHPやWordPress本体をアップデートする

PHPやWordPress本体のバージョンアップを行います。
PHPの更新は、レンタルサーバーの管理画面などから実施し、WordPress本体は管理画面の更新機能またはFTP/SFTPを利用します。

この際、できるだけひとつずつ作業することをおすすめします。エラーが発生した際に、どの変更が原因なのかを特定しやすくするためです。

  1. PHPのバージョンを変更する
  2. WordPressの管理画面や主要ページを確認する
  3. 問題がなければWordPress本体を更新する
  4. 再度、管理画面や主要ページを確認する

5. FTPでdebug.logをダウンロードする

バージョンアップ後、サイト内のページや管理画面を表示し、エラーが発生していないかを確認します。
画面が真っ白になったり、エラー文言が発生していたりする場合は、FTP/SFTPで以下のファイルをダウンロードします。

/wp-content/debug.log

このファイルには、PHPのエラーや警告などが記録されています。

//エラーの例
PHP Fatal error: Uncaught Error:
Call to undefined function sample_function()
in /wp-content/themes/sample-theme/functions.php
on line 120

上記の例は、テーマの functions.php ファイルの120行目付近で、存在しない関数が呼び出されていることを示しています。
このように、エラーログには実際にどのファイルの何行目で問題が発生したのかが記録されるため、修正時の重要な手がかりになります。

6. AIにdebug.logを読み込ませて原因調査・修正する

ここからAIを活用します。CodexやClaudeなどのAIに、取得した debug.log を読み込ませて、以下のようなプロンプトとともにエラーの原因と解決策を調査します。

## エラーチェックプロンプトの例
WordPressとPHPのバージョンアップ後に発生したエラーログです。
ログを解析して、以下の内容を整理してください。

・エラーの一覧と発生箇所
・エラーの重要度と、サイトへの影響
・PHPまたはWordPressのバージョンアップとの関連性
・原因となっている可能性が高いテーマ・プラグイン・関数
・推奨される修正方法

あわせて、該当するテーマやプラグインのPHPファイルもAIに読み込ませ、修正案を作成します。修正を依頼する際、AIには以下の条件も伝えておくとよいでしょう。

## 修正の際に指示する条件

・既存の機能や動作を可能な限り維持する
・エラーに関連する箇所だけを最小限修正する
・修正理由と変更箇所を明示する
・不明な部分は推測で修正しない
・セキュリティや互換性に問題のある変更は避ける

7. 修正ファイルをアップロードして動作を確認する

AIが提案した修正内容を確認し、対象のPHPファイル等を修正します。
修正前のファイルは必ずバックアップしておき、FTP/SFTPを使って修正ファイルをアップロードしましょう。

その後、管理画面や主要ページを確認します。エラーが解消されない場合は、 debug.log に追記された新しいエラーを改めて取得し、AIに解析させ修正を繰り返します。

8. デバッグ設定とメンテナンスモードを解除する

動作確認が完了したら、サーバー上に作成された debug.log を削除して、デバッグモードを解除します。
次に、wp-config.php を以下のように、ログを出力しない記述に変更しましょう。

// wp-config.phpの記述を以下に変更
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

最後に、LightStartプラグインのメンテナンスモードを解除し、一般の訪問者にもWebサイトが正常に表示されることを確認すれば完了です。

おわりに – AIによる修正は、あくまで暫定的な措置

今回紹介した方法は、開発環境がない状態でもAIを利用してエラーを解消し、暫定的にPHP・WordPressをバージョンアップするためのものです。
そのため、時間があるときに、あらためて以下の対応をすることが望ましいでしょう。

  • テーマやプラグインの公式対応バージョンの確認
  • 更新停止しているプラグインがあれば代替手段を検討する
  • 使用していないプラグインがあれば削除する
  • 今後の更新に備えてDockerやテストサーバーなどの検証環境を整備する

特に、長期間更新されていないテーマやプラグインの場合、表面的なエラーを修正しても、別の箇所に脆弱性などの問題が潜んでいる可能性もあります。
AIによってエラー修正のハードルは下がりましたが、安全な運用や修正内容の妥当性を判断することは、依然として人間の役割です。

今回の方法は、開発環境や時間がない状況で、どうしてもバージョンアップを進めなければいけない場合に、選択肢のひとつとして参考にしてください。

AUTHOR

この記事を書いた人

平野 順也

平野 順也

Webサービスやツールの企画・開発、マーケティングに携わるWebディレクター。
ゼロイチの事業立ち上げやグロースを得意としています。