無料相談
お問合せ

ツヨシオカメディア

PHPを上げたらホームページが真っ白に? PHP脆弱性(2026年10月)のあと、サイトが表示されないときの原因と直し方

投稿日 2026年10月27日 WEB・PC関連

2026年10月、PHPに重大な脆弱性が見つかり、多くのレンタルサーバー会社が緊急メンテナンスを行いました。その前後から「ホームページが表示されない」「PHPのバージョンを上げたら画面が真っ白になった」というご相談をいただいています。

先に結論をお伝えします。表示されなくなった原因の多くは、新しいPHPに対応していない古いテーマやプラグインです。いったん元のPHPに戻せばサイトはすぐに表示され、原因のファイルを直してから正しい順番で上げ直せば、私たちが対応した範囲では、ほとんどの場合は元どおりに戻せます。

この記事では、北海道千歳市でホームページの制作と保守をしている私たちが、実際の対応で行った確認の手順と直し方をまとめました。

この記事でわかること

・PHPの切り替え後にホームページが表示されなくなる原因の見分け方
・表示を元に戻す方法と、エラーの記録から原因を探す方法
・失敗しにくいPHP切り替えの順番
・WordPressがかなり古いときの注意点

2026年10月のPHP脆弱性で何が起きたか

PHPは、WordPressをはじめ多くのホームページを動かしているプログラムです。10月21日の夜(日本時間23時ごろ)に、重大な脆弱性2件(CVE-2026-109618/CVE-2026-109619。CVEは脆弱性ごとに付けられる世界共通の識別番号です)の修正版が公開されました。悪用されると、外部からサーバー上で好きな命令を実行されるおそれがある種類のものです。

ここで問題になったのが、古いPHPを使っているサイトです。PHPの開発元が修正を出し続けるのは、原則としてサポート期間中のバージョンだけです(今回は例外的に古い版向けの修正ソースも出ましたが、レンタルサーバーの利用者がそのまま使える形ではありません)。2026年10月時点でサポートが続いているのは 8.2・8.3・8.4・8.5 で、8.1 は2025年12月31日にサポートが終わっています(PHP公式のサポート期間の一覧)。

レンタルサーバー各社は、古いバージョンにも独自に修正を当てるなどの対応をしましたが、その間に一部のサーバーでサイトの表示を止めたり、利用者にPHPのバージョンを上げるよう案内したりしました。たとえばロリポップ!は、10月22日の未明から昼ごろまで一部サーバーのサイト表示を止めて修正を適用し、PHP 8.2以上への切り替えを呼びかけています(ロリポップ!の報告)。

この「PHPを上げてください」という案内に従った結果、サイトが表示されなくなったケースが少なくありません。

まず見分けましょう:表示されない原因は3つ

いつから表示されないか 考えられる原因 最初にやること
自分では何も変えていないのに、10月21〜22日ごろに表示されなくなった サーバー会社の緊急メンテナンス(一時的にサイトを止めていた) サーバー会社の「障害・メンテナンス情報」を確認する。多くはすでに再開済み
PHPのバージョンを切り替えた直後から テーマやプラグインが新しいPHPに対応していない 元のバージョンに戻す(次の章の手順)
古いPHPのまま、一部の操作(お問い合わせ送信など)だけできない サーバー会社によっては、古いPHPのサイトで一部の機能を制限している場合がある サーバー会社のお知らせを確認し、PHPを上げる準備をする

いちばん多いのは2つ目です。ここからは、その直し方を順番に説明します。

PHPを上げて表示されなくなったときの直し方

手順1:元のPHPに戻す

サーバーの管理画面で、PHPのバージョンを切り替える前の設定に戻します。多くのレンタルサーバーでは、ドメインごとの「PHPバージョン設定」「PHP Ver.切替」といった画面から変更できます。

戻せば、ほとんどの場合すぐに表示が戻ります。ただし、サーバーによっては古いバージョンが選べなくなっていることがあります。その場合は、サーバー会社か制作・保守をしている会社にご相談ください。まずはお客様から見える状態を取り戻すことが先です。この段階で、WordPressやプラグインを慌てて削除・更新するのは避けてください。原因が分からなくなり、かえって復旧に時間がかかります。

手順2:エラーの記録から原因のファイルを探す

表示されなくなったとき、サーバーには「どのファイルの何行目で止まったか」が記録されています。サーバーの管理画面の「エラーログ」を開き、PHPを上げた時刻の行を探します(名前や場所はサーバー会社によって違います。見つからないときは、サーバー会社のマニュアルで「エラーログ」を検索してください)。

実際に私たちが見たエラーは、次のようなものでした。

PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported
in …/wp-content/plugins/count-per-day/counter-core.php on line 1517

英語ですが、読むべきところは後半の場所です。wp-content/plugins/ の後ろがプラグインの名前、wp-content/themes/ ならテーマの名前です。この例では、何年も更新されていないアクセスカウンターのプラグインが、PHP 8で使えなくなった古い書き方のまま残っていたことが原因でした。

このときサイトの画面には「このサイトで重大なエラーが発生しました」と表示され、WordPressの管理者のメールアドレスには「サイトで技術的な問題が発生しています」という件名のメールが届くことがあります。メールには原因のプラグイン名やテーマ名が書かれています。エラーログが見つからないときは、こちらも確認してみてください。

手順3:原因に合わせて直す

  • プラグインが原因:更新版があれば更新します。長く更新されていないものは、無効化して代わりのプラグインを探すか、使っていなければ削除します。
  • テーマが原因:制作会社が作ったオリジナルのテーマに多いケースです。エラーの出た行を、新しいPHPに対応した書き方に直します。制作した会社か、保守をしている会社に、エラーの文面を添えて依頼すると話が早く進みます。
  • WordPress本体が古い:本体を先に更新します(次の手順4)。

手順4:正しい順番で上げ直す

PHPの切り替えは、次の順番で進めると失敗しにくくなります。

  1. バックアップを取る:ファイルとデータベースの両方。サーバー会社の自動バックアップがあっても、作業の直前に自分でも取っておくと安心です。
  2. 古いPHPのまま、WordPress本体・テーマ・プラグインを更新する:新しいPHPで動かなくなる原因の多くは、古いプラグインです。先に更新しておくと、切り替えの成功率が上がります。
  3. PHPを切り替える:複数のサイトがある場合は、1サイトずつ進めます。まとめて変えると、問題が出たときにどれが原因か分からなくなります。
  4. 確認する:トップページ、会社概要などの個別のページ、お問い合わせフォームのテスト送信、管理画面へのログインと記事の保存まで確認します。

WordPressがかなり古いときの注意

WordPress本体にも、対応しているPHPのバージョンがあります。WordPressの公式資料によると、たとえば PHP 8.3 に対応したのは WordPress 6.4 から、PHP 8.0 は 5.6 からです(WordPress公式:PHPとWordPressのバージョン対応表)。

PHPのバージョン 対応したWordPressのバージョン
8.0 5.6 以降
8.1 5.9 以降
8.2 6.1 以降
8.3 6.4 以降
8.4 6.7 以降

何年も更新していないサイトでPHPだけを上げると、本体ごと動かなくなることがあります。その場合は、古いPHPのまま本体を最新まで上げてから、PHPを切り替える順番が必要です。最新の WordPress 7系は PHP 7.4 以上で動くため、PHP 7.4 のサイトなら先に本体を最新にできます。それより古いPHPのサイトは、段階を踏んだ作業になるため、専門の業者に相談することをおすすめします。

いま使っているバージョンは、WordPressの管理画面の「ツール」→「サイトヘルス」→「情報」タブで確認できます。「WordPress」の欄に本体のバージョン、「サーバー」の欄にPHPのバージョンが出ています。WordPress 5.2 より古い場合はこの画面がないため、「ダッシュボード」→「更新」で本体のバージョンを確認してください。

実例:私たちの保守の現場で起きたこと

実例1:PHP 8にしたらサイトが見られなくなった

保守をお手伝いしているあるサイトで、PHP 7.4 から 8.3 に切り替えたところ、サイトが閲覧できなくなりました。すぐに 7.4 に戻して表示を回復させ、エラーログを確認したところ、原因は先ほどの例のアクセスカウンターのプラグインでした。

このプラグインは長く更新が止まっていて、直った版が出る見込みもありませんでした。そこで、古いPHPのままプラグインを無効化し、表示に問題がないことを確かめてから、あらためて 8.3 に切り替えました。原因が分かってからの作業は短時間で済んでいます。

実例2:多数のサイトを「切り替え→確認→だめなら戻す」で進めた

私たちが管理しているサーバーには、PHP 7.4 や 8.1 のまま動いているサイトが複数ありました。脆弱性の修正版が公開される前後に、これらを1サイトずつ 8.3 へ切り替えています。

切り替えのたびにトップページとログイン画面を自動で確認し、エラーが出たら自動で元のバージョンに戻す仕組みを作って進めました。そのうえで、お問い合わせフォームの送信と管理画面の操作は人の目で確認しています。「戻せる形で、1つずつ、確認しながら」進めることが、PHPの切り替えでいちばん大切だと考えています。

やってはいけないこと

  • 古いPHPに戻したまま放置する:表示が戻って安心しがちですが、サポートの終わったPHPには、原則として今後の修正が出ません。原因を直して、早めに上げ直しましょう。
  • 原因が分からないままプラグインを次々に消す:必要な機能まで消えてしまい、何が原因だったかも分からなくなります。
  • バックアップなしで本体やプラグインを更新する:PHPの切り替えは設定を戻せば済みますが、更新はファイルとデータベースを書き換えます。失敗すると、バックアップがなければ元に戻せません。

どのPHPのバージョンを選べばよいか

PHPの開発元の発表では、各バージョンのセキュリティ修正の提供は、8.2 が2026年12月31日まで、8.3 が2027年12月31日まで、8.4 が2028年12月31日までです。8.2 は今年いっぱいで終わるため、これから切り替えるなら 8.3 以上をおすすめします。8.4・8.5 のほうが期間は長いものの、古いテーマやプラグインとの相性を考えると、まず 8.3 に上げるのが無難です。

まとめ

  • PHPを上げて表示されなくなったら、まず元のバージョンに戻せば表示は戻る
  • エラーログで原因のプラグイン・テーマを特定してから直す
  • 「バックアップ → 古いPHPのまま更新 → PHPを切り替え → 確認」の順番で進める
  • WordPressがかなり古い場合は、本体を先に上げる必要がある
  • 切り替え先は 8.3 以上がおすすめ

株式会社ツヨシオカでは、北海道千歳市を拠点に、WordPressサイトのPHP切り替えや更新、表示されなくなったサイトの復旧、その後の保守までお手伝いしています。「自社のサイトのPHPが古いままか分からない」「切り替えたら表示されなくなった」といったご相談も、お気軽にお寄せください。

▶ ツヨシオカの事業内容を見る ▶ お問い合わせはこちら

\ SNSでシェア /

2026.10.27 #WEB・PC関連

吉岡 毅(株式会社ツヨシオカ 代表取締役)

北海道千歳市の株式会社ツヨシオカ代表。中小企業や団体のWordPressサイトの制作と保守を手がけ、サーバーの管理やセキュリティ対策、PHP・WordPressの更新まで一貫して対応しています。

>> 執筆記事一覧


WEB・PC関連関連記事