最終更新:10 月 24 日 11:42(日本時間)
公式の説明が変わったら見直します。
すぐ見る:どうすればいい? / 症状ごとの見分け / まず元に戻す / 原因を探す / 直すか作り直すか
要点
PHP を上げたら、サイトが表示されなくなったとき
- まず、サーバーの管理画面で PHP を上げる前のバージョンに戻し、表示が戻るかを確かめる。各サーバー会社のマニュアルも、戻して確かめる方法を案内している
- 「このサイトで重大なエラーが発生しました」は、プラグインやテーマなどが致命的なエラーを起こしたときに WordPress が出す画面。管理者のメールアドレスに、リカバリーモードで管理画面に入るためのリンクが届く
- よくある原因は、新しい PHP に対応していない古いプラグインやテーマ。作者が更新をやめている・直せる人がいない場合は、入れ替えやサイトの作り直しも選択肢になる
どうすればいい?
まずやること(この順に)
- サーバーの管理画面で、PHP を上げる前のバージョンに戻し、トップページが表示されるかを確かめる。2026 年 10 月の脆弱性への対応で上げたのなら、戻す先のバージョンに修正が当たっているかも確かめる
- WordPress の管理者のメールアドレスに「サイトで技術的な問題が発生しています」という件名のメールが届いていないか見る。届いていれば、中のリンクからリカバリーモードでログインし、止められたプラグインやテーマを確かめる
- 自分で直せない・原因が分からないときは、制作会社や保守の担当、サーバー会社に頼む。症状、上げる前と後の PHP のバージョン、届いたメールの内容を伝える
詳しくは:症状ごとの見分け / サーバーごとの戻し方 / リカバリーモード
2026 年 10 月 21 日に PHP の重大な脆弱性(PHP2Shell)の修正版が出て、急いで PHP のバージョンを上げたところ、ホームページが表示されなくなった、というときに読む記事です。脆弱性の経緯とサーバー各社の対応は 「PHP の重大な脆弱性」 にまとめています。
この記事では、PHP 公式・WordPress 公式・主なレンタルサーバーの公式マニュアルの説明だけをもとに、PHP を上げたあとにホームページが表示されない、WordPress のサイトが「このサイトで重大なエラーが発生しました」と出る、真っ白になる、500 エラーになるときの見分け方と、元に戻す手順、リカバリーモードなどを使った原因の探し方と直し方、直すか作り直すかの考え方を整理します。
症状ごとの見分け
画面に出ているものによって、起きていることと最初の手が少しずつ違います。どの症状でも、PHP を上げた直後に起きたのなら、まず PHP を元に戻すのが先です。
| 症状 | 起きていることと、まずやること |
|---|---|
| 「このサイトで重大なエラーが発生しました」と出る | プラグインやテーマなどが、PHP の処理を止めてしまうエラー(致命的なエラー)を起こし、WordPress がそれを見つけて出している画面。「サイト管理者のメール受信箱で手順を確認してください」と続くこともある。PHP を戻し、管理者のメールにリカバリーモードのリンクが届いていないか見る |
| 画面が真っ白で、何も出ない | WordPress 公式は、PHP のエラーやデータベースのエラーで、何も表示されない真っ白な画面になることがあるとし、原因としてプラグインやテーマの不具合を挙げている。PHP を戻し、戻らなければプラグインやテーマを一時的に止めて確かめる |
| 「500 Internal Server Error」と出る | サーバーの中でエラーが起きている。WordPress 公式は、.htaccess というファイルの破損、プラグインやテーマ、PHP のメモリの上限などを原因として挙げている。PHP を戻し、サーバーのエラーログを見る |
| レイアウトだけ崩れる・一部の機能が動かない・英語の警告文が出る | 処理は止まっていないが、プラグインやテーマの一部が新しい PHP で思いどおりに動いていない。PHP 8.0 では、以前は注意(notice)だった多くのものが警告(warning)に変わっていて、設定によってはその文がページに出る。PHP を戻し、問い合わせフォームなど大事な機能も試す |
| 管理画面に入れない | 管理画面でも同じエラーが起きている。PHP を戻すか、リカバリーモードのリンクから入る。どちらもできなければ、FTP でプラグインのフォルダーの名前を変えて止める |
まず元に戻す:PHP を上げる前のバージョンへ
PHP を上げた直後に壊れたのなら、原因を探す前に、上げる前のバージョンへ戻します。サイトが表示されない時間を短くできます。エックスサーバーのよくある質問は、PHP を切り替えてから正しく表示されなくなった場合、使っているプラグインやテーマがそのバージョンに対応していない可能性があるとして、ほかのバージョンへ変えて表示できるか確かめるよう案内しています。
戻す前に確かめること(2026 年 10 月の脆弱性)
今回の脆弱性への対応で上げたのなら、戻す先のバージョンに修正が当たっているかを確かめます。PHP 公式の修正版は 8.2.35・8.3.36・8.4.27・8.5.12 で、各系統でこれ以上の番号なら修正版です。8.1 以前には PHP 公式の更新が出ないため、8.1 以前に戻すなら、サーバー会社が独自に修正を当てているかを、サーバー会社のお知らせで確かめます(各社の対応状況)。修正が当たっていないバージョンに戻したままにせず、原因を直して早めに上げ直します(この記事での整理)。
| サーバー | 戻す場所 | 注意書きと公式マニュアル |
|---|---|---|
| エックスサーバー | サーバーパネルの「PHP Ver.切替」→ 戻したいドメインのペンアイコン →「変更後のバージョン」を選んで「設定する」 |
よくある質問では、切り替えてから正しく表示されなくなったら、ほかのバージョンへ変えて表示できるか確かめるよう案内している。サーバーパネルの「エラーログ」でエラーの記録も見られる PHPのバージョンについて |
| さくらのレンタルサーバ | サーバーコントロールパネルの「スクリプト設定」→「言語バージョン設定」→ バージョンを選んで「保存する」 |
動作に不具合があれば、古いバージョンを選び直すことで元の環境へ戻せるとしている。変更後はサイトの表示や投稿を確かめる PHPのバージョンを変更したい |
| ConoHa WING | コントロールパネルの「WING」→「サイト管理」→「サイト設定」→「応用設定」→「PHP設定」→ 鉛筆アイコンの「編集」→ バージョンを選んで「保存」 |
ドメインごとにバージョンを変えると、.htaccess に「AddHandler」から始まる記述が入る。この記述を消すと不整合が起きることがある PHPの設定をする |
| ロリポップ! | ユーザー専用ページの「サーバーの管理・設定」→「PHP設定」→ ドメインのバージョンを選んで「変更」 |
反映まで 5〜10 分ほどかかる。PHP 7.1 未満のバージョンから上げた場合は、変更前のバージョンに戻せない PHP設定 |
今のバージョンの確かめ方と、上げるときの手順は 「PHP のバージョンの確かめ方と上げ方」 で整理しています。戻しても表示が戻らないときは、同じ時期に行ったプラグインの更新など、PHP 以外の原因も考えられます。次の WordPress の仕組みで原因を探します。
原因を探す:WordPress に備わっている仕組み
WordPress には、エラーで管理画面に入れなくなったときのための仕組みがあります。上から順に、手軽なものです。
リカバリーモード(管理者のメールに届くリンク)
WordPress 5.2 から入った仕組みです。プラグインやテーマが致命的なエラーを起こすと、訪問者には「このサイトで重大なエラーが発生しました」という画面が出て、WordPress に登録している管理者のメールアドレスにお知らせのメールが届きます。件名は「[サイト名] サイトで技術的な問題が発生しています」で、本文には、サイトが壊れていて管理画面に入れないときのための「リカバリーモード」のリンクが入っています。リンクには有効期限がありますが、期限が切れたあとに同じエラーがまた起きれば、新しいリンクが送られます。
- メールのリンクを開き、管理者のアカウントでログインする
- 管理画面に、リカバリーモードになっていることと、エラーで一時停止されているプラグインやテーマ、エラーの内容が出る
- 原因のプラグインを停止する、テーマを切り替えるなどして対応する
- 管理画面の上のバーにある「リカバリーモードを終了」で抜ける。原因が残っていれば、エラーはまた出る
気をつけたいのは、一時停止が効くのはリンクを開いたブラウザーだけだという点です。ほかの訪問者には、原因を直すまでサイトは壊れたまま見えます。リカバリーモードに入っただけでは、直っていません。
メールが見つからないときは、迷惑メールのフォルダーも探します。管理者のメールアドレスが、退職した人や以前の制作会社のアドレスのままになっていて、誰も受け取っていないこともあります(この記事での整理)。
エラーの記録(ログ)を見る
何が原因で止まったかは、エラーの記録(ログ)に残ります。ファイルを書き換えずに見られるのが、サーバーの管理画面のエラーログです。エックスサーバーなら、サーバーパネルの「エラーログ」から表示やダウンロードができます。ログに出てくるプラグインやテーマのフォルダー名が、原因の手がかりになります。
WordPress 自身にも、エラーを記録するデバッグの機能があります。wp-config.php という設定ファイルに WP_DEBUG と WP_DEBUG_LOG を書き加えると、エラーが wp-content/debug.log というファイルに記録されます。WordPress 公式は、WP_DEBUG_DISPLAY を false にして、エラーを画面に出さずに記録だけする書き方を示しています。一方で、デバッグの機能は運用中のサイトで使うことを勧めず、手元やテスト環境(ステージング)向けだとしています。PHP 公式マニュアルも、運用中の環境ではエラーの表示(display_errors)を Off にしておくよう求めています。エラーの文から、サイトの中の情報が漏れるおそれがあるためです。
wp-config.php は、書き間違えるとサイト全体が止まるファイルです。慣れていなければ、制作会社や保守の担当に任せ、調べ終わったら設定を元に戻してもらいます(この記事での整理)。
プラグインを一時的に止める
WordPress 公式は、管理画面に入れるなら、プラグインをすべて停止してから 1 つずつ有効に戻し、どれが原因かを探すよう案内しています。管理画面に入れないときは、FTP でサーバーに入り、wp-content/plugins のフォルダーの名前を plugins_old に変えると、すべてのプラグインが止まります。原因の見当がついたら、フォルダーの名前を元に戻し、管理画面で 1 つずつ有効にして確かめます。
テーマを既定のものに戻す
テーマ(サイトの見た目を決める部品)が原因のこともあります。WordPress 公式は、管理画面に入れるなら WordPress の既定のテーマ(Twenty Twenty-One など)を有効にして確かめ、入れないなら FTP で /wp-content/themes/ の中にある、使っているテーマのフォルダーの名前を変えるよう案内しています。既定のテーマにしている間は、サイトの見た目が変わります。
500 エラーのときの .htaccess
WordPress 公式は、500 エラー(Internal Server Error)でありがちなのは .htaccess というファイルの破損だとして、名前を .htaccess_old に変えて表示を確かめ、表示されたら管理画面の「設定」→「パーマリンク」で設定し直すよう案内しています。ただし、ConoHa WING のように、サーバーが PHP のバージョンの設定を .htaccess に書き込むこともあります。名前を変える前にコピーを取り、迷ったらサーバー会社に相談します(この記事での整理)。
FTP でファイルの名前を変える作業は、間違えると別の不具合のもとになります。慣れていなければ、無理をせず頼みます。
よくある原因:古いプラグインやテーマが新しい PHP に対応していない
WordPress 公式の「よくある WordPress のエラー」は、「重大なエラー」の画面のよくある原因として、プラグインどうしの衝突、テーマの互換性の問題、合わない PHP のバージョン、メモリの上限、壊れたファイルを挙げています。エックスサーバーのよくある質問も、最終更新から長く経ったプラグインやテーマは PHP 8 に対応していない可能性があるとしています。
PHP 7 系から 8 系へ上げるときに問題が出やすいのは、PHP 8.0 で、それまでのプログラムがそのままでは動かない変更(互換性のない変更)が多く入ったためです。PHP 公式マニュアルの「下位互換性のない変更点」から、古いプラグインやテーマで問題になりやすいものを、言葉をやさしくして挙げます。
- 古い関数がなくなった create_function() や each() など、いくつかの関数(決まった処理を呼び出す命令)が削除された。古いプラグインやテーマがこれを使っていると、その場所で処理が止まる
- 警告で済んでいたものがエラーになった たとえば、定義されていない定数を使うと、以前は警告を出したうえで文字として扱っていたが、PHP 8.0 からはエラー(Error 例外)になる。数えられない値を count() に渡したときも、エラー(TypeError)になった
- 数と文字の比べ方が変わった 数と、数ではない文字を比べたときの結果が変わった(0 と "foo" を比べると、以前は等しい、8.0 からは等しくない)。エラーは出なくても、条件の判定が変わり、表示や動きが変わることがある
8.0 のあとも、PHP 公式は 8.2・8.3・8.4・8.5 と系統ごとに移行のガイド(Migration guide)を出しています。上げる先の系統のガイドは、制作会社や保守の担当がプラグインやテーマを確かめるときの手がかりになります。
WordPress 本体の PHP への対応
WordPress 本体も、古い版のままでは新しい PHP に対応していません。WordPress の開発者ハンドブックの対応表では、WordPress 7.1 は PHP 7.4〜8.5 に対応しています。一方で、PHP 8.4 が対応表に入るのは WordPress 6.7 から、PHP 8.5 は 6.9 からです。WordPress 公式の「動作要件」は、PHP 8.3 以上を勧めています。
WordPress 公式の「PHP を更新しよう」も、WordPress 本体は新しい PHP で動いても、使っているテーマやプラグインが動くかは分からないため、確かめる必要があるとしています。PHP を戻してサイトが動いている状態で、本体・テーマ・プラグインを最新にしてから上げ直すのが順番です。
直すか、作り直すか
原因が分かったら、直して使い続けるか、サイトを作り直すかを決めます。WordPress 公式の「PHP を更新しよう」は、テーマやプラグインに問題が見つかったら作者に調べてもらうよう頼み、対応してもらえないなら、WordPress.org で同じ機能を持つ別のテーマやプラグインを探して使うよう勧めています。そのうえで、判断の目安をこの記事で整理すると、次のとおりです。
- 直して使い続けやすいとき 原因が 1〜2 個のプラグインで、新しい PHP に対応した更新か、同じ機能の代わりがある。テーマが今も更新されている。制作会社や保守の担当と連絡がつく。
- 作り直しも考えたいとき テーマが何年も更新されていない、または独自に手を加えていて中身を分かる人がいない。作者が更新をやめたプラグインに、問い合わせフォームなど大事な機能を頼っている。制作会社と連絡がつかず、サーバーやサイトのログイン情報も手元にそろっていない。今回直しても、PHP のサポートが終わるたびに同じことが起きそう。
作り直すときの進め方は 「ホームページのリニューアルで決めること」、公開したあとも更新を続ける体制の考え方は 「ホームページの保守」 で整理しています。
次に備えること
PHP を上げる作業は、一度で終わりません。PHP 公式によると、8.2 のセキュリティの修正は 2026 年 12 月 31 日まで、8.3 は 2027 年 12 月 31 日までです。8.2 を使っているなら、年内にもう一度上げることになります。次は壊さずに上げられるよう、次のことを決めておきます。
- 上げる前にバックアップを取る(バックアップの取り方と戻し方)。WordPress 公式は、バックアップから戻すときは、PHP も元のバージョンに戻してもらう必要があるとしている
- テスト環境(ステージング)で先に試す。ロリポップ!のように、本番の PHP を変える前に、ステージング環境で表示と動作を確かめられるサーバーもある
- WordPress 本体・テーマ・プラグインを最新にしてから上げる。上げたあとは、トップページと主なページの表示、問い合わせフォームの送信、管理画面へのログインを試す
- WordPress の管理者のメールアドレスが、今も誰かが受け取っているアドレスかを確かめておく。リカバリーモードのリンクはここに届く
- いつ、どのバージョンからどのバージョンへ変えたかを記録しておく。戻すときも、頼むときも、この記録が役に立つ
作り方は 3 つ|完成済み・自作・オーダーメイド
作り方はどれでも選べます。優劣ではなく、向いているケースが違います。
- オーダーメイドで作る(制作会社に依頼) 要件を渡せば設計から任せられます。自社に合わせて一から作りたい場合や、撮影・原稿まで任せたい場合に向きます。SITE PICK でもオーダーメイド制作の相談を受け付けています。
- 自分で作る(自作) 費用は抑えられます。そのかわり、PHP やプラグインの更新で表示が崩れたときの切り分けと修正を、公開後もずっと自分で続けることになります。
- 完成済みのサイトから選ぶ(完成済み) 構成・更新の仕組み・入口が組まれた状態を実物で確かめ、社名・写真・文章を差し替えて公開します。完成形を先に確認してから決めたい場合に向きます。この記事の集計は、その実際のサイトのデータです。