緊急PHPに致命的な脆弱性(CVSS 9.2)。サポート切れの PHP 7.4・8.0・8.1 向け修正(ソースのみ)が php-src に公開最新情報 ›
無料で相談する

WordPressのPHPバージョンアップ手順|「重大なエラー」やログインできないときの対処

公開:10/22 00:16更新 (日本時間)Webセキュリティ診断センター 編集部約11分で読めます
WordPressのPHPバージョンアップ手順|「重大なエラー」やログインできないときの対処
#WordPress#PHP#バージョンアップ
この記事の要点
  • WordPressのPHPバージョンアップは、バックアップ → WordPress本体・テーマ・プラグインの更新 → 対応の確認 → PHPの切り替え → 表示と動作の確認の順で進めます。
  • WordPress.orgが推奨しているのはPHP 8.3以上です。8.4にはWordPress 6.7から、8.5には6.9から対応しています。
  • 切り替えたあとに「このサイトで重大なエラーが発生しました」と出たら、まず管理者のメールを確認します。届いたリンクからリカバリーモードに入れます。
  • 管理画面に入れないときは、pluginsフォルダの名前を変えると、すべてのプラグインをまとめて止められます。

WordPressのサイトでPHPを上げる理由

WordPressは、PHP(Webサイトを動かすプログラミング言語)で書かれています。PHPにはバージョンごとにサポート期間があり、期間が終わったバージョンにはセキュリティの修正が出ません[php.net]。

2026年10月21日には、PHP本体の重大な脆弱性2件を直した修正版(PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35)が公開されました。8.1以前は対象外です[php.net]。PHP本体の問題なので、WordPressやプラグインを更新しても防げません。

WordPress.orgは、動作環境としてPHP 8.3以上を推奨しています。PHP 7.4以上でも動きますが、サポートが終わったバージョンを使うとサイトが脆弱性にさらされるおそれがあるとしています[WordPress.org「Requirements」]。

切り替える前にやること

WordPress.orgの「Update PHP」のページでは、PHPを上げる前の準備として、バックアップ、WordPress本体・テーマ・プラグインの更新、互換性の確認を挙げています[WordPress.org「Update PHP」]。

バックアップ、WordPressの更新、対応の確認、PHPの切り替え、表示と動作の確認の5段階と、不具合が出たときの戻し方
図1 WordPressのPHPバージョンアップの流れ

1. バックアップを取る

WordPressのバックアップは、データベース(投稿や設定)とファイル(本体、テーマ、プラグイン、アップロードした画像など)の2つでひと組です。どちらも同じ時期に取り、1組として扱います[WordPress.org「Backups」]。同じページでは、直近のバックアップを3〜5個持ち、サーバー、クラウドストレージ、手元のパソコンなど別々の場所に置くよう勧めています。

2. WordPress本体・テーマ・プラグインを更新する

管理画面の「更新」から、WordPress本体、テーマ、プラグインを最新にし、サイトが普段どおり動くかを確かめます[WordPress.org「Update PHP」]。新しいPHPへの対応は、たいていテーマやプラグインの新しい版で入ります。古い版のままPHPだけを上げると、不具合が出やすくなります。

3. 新しいPHPに対応しているかを確かめる

WordPressの開発チームは、PHPのバージョンごとに対応しているWordPressのバージョンを表にしています[make.wordpress.org]。

PHP対応しているWordPress
8.56.9以降
8.46.7以降
8.36.4以降の表に掲載(6.4で対応を開始)
8.2〜7.46.4〜7.1の表に掲載

表に載っているのはWordPress本体の対応状況です。テーマやプラグインが対応しているかは、それぞれの配布ページや開発元で確かめます。WordPress.orgは、テーマとプラグインの問題を調べる手段として「PHP Compatibility Checker」プラグインを紹介しています。ただし、完全ではないとも書いています。問題が見つかったら開発元に問い合わせ、返事がなければ代わりのプラグインを探すよう勧めています[WordPress.org「Update PHP」]。

使っているテーマとプラグインの一覧は、「ツール」→「サイトヘルス」→「情報」タブで、バージョンと一緒に確認できます。この画面には、サイトの情報をクリップボードにコピーする機能もあります[WordPress.org「Site Health screen」]。制作会社に相談するときは、コピーした情報を渡すと状況が伝わりやすくなります。

PHPを切り替える

WordPress.orgは、PHPの切り替えについて「サーバーの設定画面で自分で変えるか、サーバー会社に依頼する」と案内しています[WordPress.org「Update PHP」]。共用のレンタルサーバーなら、多くは管理画面からドメインごとに選べます。各社のメニューの場所は「PHPのバージョンを確認する方法」にまとめています。

本番のサイトでいきなり切り替えるより、本番のコピー(検証環境)で先に試すほうが安全です。検証環境の作り方や、PHPのバージョンごとに動かなくなりやすい書き方は「PHP 8.1以前を使い続けるリスクと、バージョンアップの進め方」で説明しています。

切り替えたら、トップページ、主要なページ、問い合わせフォームの送信、ログイン、管理画面の操作を一通り試します。「ツール」→「サイトヘルス」→「情報」タブの「サーバー」で、PHPのバージョンが変わったことも確かめます[WordPress.org「Site Health screen」]。

戻し方を先に確かめておく
WordPress.orgは、不具合が出たらPHPのバージョンを自分で元に戻すか、サーバー会社や制作会社に相談するよう案内しています。バックアップから戻す場合は、先にPHPを元のバージョンに戻してから復元します[WordPress.org「Update PHP」]。サーバー会社によっては、古いバージョンに戻せない場合があります。切り替える前にマニュアルで確認してください。

「重大なエラーが発生しました」と出たら

PHPを切り替えたあと、サイトに「このサイトで重大なエラーが発生しました。」と表示されることがあります。英語版の「There has been a critical error on this website.」にあたるメッセージです[WordPress.org 翻訳プロジェクト]。

重大なエラー、真っ白な画面、管理画面に入れない、データベース接続エラーの4つの症状と、それぞれまず見るところ
図2 切り替え後に出やすい症状と、まず見るところ

WordPressの「リカバリーモード」

WordPress 5.2から、PHPの致命的なエラーを検知すると、サイトの管理者のメールアドレスに、リカバリーモードに入るためのリンクを送る仕組みがあります。リカバリーモードに入ると、エラーの原因になっているプラグインやテーマが、そのブラウザーでだけ一時停止されます[make.wordpress.org]。管理画面に入れるようになるので、原因のプラグインを更新したり、止めたりできます。

メールが見つからないときは、迷惑メールのフォルダーも確認します。それでも見つからなければ、次の章の方法でプラグインを止めます。

WordPress.orgのエラー解説では、このメッセージの主な原因として、プラグインどうしの衝突、テーマの互換性、PHPのバージョンが合わないこと、メモリの上限、WordPressのファイルの破損を挙げています[WordPress.org「Common WordPress Errors」]。PHPを切り替えた直後に出たなら、まず古いテーマやプラグインを疑います。

真っ白な画面・管理画面に入れないとき

真っ白な画面

何も表示されない真っ白な画面も、プラグインかテーマが原因のことが多いとされています。プラグインを止めて、1つずつ有効に戻しながら原因を探します。新しいテーマに変えた直後なら、テーマを疑います[WordPress.org「Common WordPress Errors」]。

管理画面に入れずプラグインを止められない

FTPやサーバー会社のファイルマネージャーでwp-contentフォルダを開き、pluginsフォルダの名前をplugins.holdなどに変えると、すべてのプラグインが止まります[WordPress.org「FAQ Troubleshooting」]。

  1. pluginsフォルダの名前を変える
  2. 管理画面にログインする
  3. フォルダの名前をpluginsに戻す(プラグインは止まったまま)
  4. プラグインを1つずつ有効にして、エラーが出るものを探す

この方法なら、プラグインの設定は残ります[同上]。テーマが原因のときは、wp-content/themesの中にある使用中のテーマのフォルダ名を変えると、そのテーマが止まります[WordPress.org「Common WordPress Errors」]。

phpMyAdmin(データベースを操作するツール)でwp_optionsテーブルのactive_pluginsの値をa:0:{}に書き換えて、すべてのプラグインを止める方法もあります。WordPress.orgは、phpMyAdminに慣れていない場合はサーバー会社や開発者に頼むよう勧めています[WordPress.org「FAQ Troubleshooting」]。

「データベース接続確立エラー」が出る

データベースに接続できないときのエラーです。多くはwp-config.phpの設定の誤りが原因とされ、データベース名、ユーザー名、パスワード、ホスト名を確かめるよう案内されています。設定が正しいのに直らない場合は、サーバー会社に問い合わせます[WordPress.org「Common WordPress Errors」]。

文字化けやレイアウトの崩れ

かなり古いPHPから上げた場合に、文字化けやレイアウトの崩れが出ることがあります。KAGOYAのFAQでは、PHP 5.6.0以降は既定の文字コードがUTF-8になったことを原因に挙げ、.htaccessなどで回避する方法を案内しています[KAGOYA FAQ]。ほかのサーバーでも、切り替え後の注意点がマニュアルに載っていることがあるので、あわせて確認してください。

原因をログで調べる(WP_DEBUG)

どのプラグインやファイルでエラーが出ているかは、WordPressのデバッグ機能で記録できます。wp-config.phpの「That's all, stop editing!」と書かれた行より前に、次のように書きます[WordPress.org「Debugging in WordPress」]。

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
公開中のサイトでは使わない
WordPress.orgは、WP_DEBUGなどのデバッグ機能を公開中のサイトで使うことを勧めていません。検証環境やローカル環境で使います[WordPress.org「Debugging in WordPress」]。サイトヘルスも、エラーを訪問者に表示する設定や、誰でも見られるおそれのあるファイルにエラーを記録する設定を「重大な問題(Critical issues)」として警告します[WordPress.org「Site Health screen」]。やむを得ず本番で使った場合は、調べ終わったら設定を戻し、debug.logを削除してください。

よくある質問

どのバージョンに上げればよいですか?

WordPress.orgの推奨はPHP 8.3以上です。サポート期間はphp.netで8.3が2027年12月31日まで、8.4が2028年12月31日まで、8.5が2029年12月31日までです[php.net]。長く使うなら8.4か8.5が候補ですが、テーマやプラグインが対応しているかを確かめてから選びます。8.4ならWordPress 6.7以降、8.5なら6.9以降が必要です[make.wordpress.org]。

サーバーの管理画面に新しいPHPが出てきません

契約しているサーバーやプランが古いと、新しいPHPを選べないことがあります。まずサーバー会社に新しいサーバーへの移り方を確認し、難しければ別のサーバーへの引っ越しを考えます。進め方は「WordPressのサーバー移行(引っ越し)手順」で説明しています。

リカバリーモードのメールが届きません

迷惑メールのフォルダーを確認し、それでも見つからなければ、FTPやファイルマネージャーでpluginsフォルダの名前を変える方法を試してください。作業に自信がなければ、PHPのバージョンをいったん元に戻し、制作会社やサーバー会社に相談します。

PHPのバージョンアップでお困りなら、Webセキュリティ診断センターへ
検証環境での動作確認、新しいPHPで動かないテーマやプラグインの修正、本番の切り替え、新しいサーバーへの引っ越しまでお受けします。無料相談はこちら

参考にした情報

貴社のサイトに合った対応をご案内します!
まずは、お気軽にご相談ください。

お問い合わせ・お見積りはこちら
無料で相談する最新情報を見る