PHPを上げたらホームページが真っ白に? PHP脆弱性(2026年10月)のあと、サイトが表示されないときの原因と直し方
投稿日 2026年10月27日 WEB・PC関連
2026年10月、PHPに重大な脆弱性が見つかり、多くのレンタルサーバー会社が緊急メンテナンスを行いました。その前後から「ホームページが表示されない」「PHPのバージョンを上げたら画面が真っ白になった」というご相談をいただいています。
先に結論をお伝えします。表示されなくなった原因の多くは、新しいPHPに対応していない古いテーマやプラグインです。いったん元のPHPに戻せばサイトはすぐに表示され、原因のファイルを直してから正しい順番で上げ直せば、私たちが対応した範囲では、ほとんどの場合は元どおりに戻せます。
この記事では、北海道千歳市でホームページの制作と保守をしている私たちが、実際の対応で行った確認の手順と直し方をまとめました。
この記事でわかること
・PHPの切り替え後にホームページが表示されなくなる原因の見分け方
・表示を元に戻す方法と、エラーの記録から原因を探す方法
・失敗しにくいPHP切り替えの順番
・WordPressがかなり古いときの注意点
この記事の目次
1. 2026年10月のPHP脆弱性で何が起きたか
2. まず見分けましょう:表示されない原因は3つ
3. PHPを上げて表示されなくなったときの直し方
4. WordPressがかなり古いときの注意
5. 実例:私たちの保守の現場で起きたこと
6. やってはいけないこと
7. どのPHPのバージョンを選べばよいか
8. まとめ
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の切り替えは、次の順番で進めると失敗しにくくなります。
- バックアップを取る:ファイルとデータベースの両方。サーバー会社の自動バックアップがあっても、作業の直前に自分でも取っておくと安心です。
- 古いPHPのまま、WordPress本体・テーマ・プラグインを更新する:新しいPHPで動かなくなる原因の多くは、古いプラグインです。先に更新しておくと、切り替えの成功率が上がります。
- PHPを切り替える:複数のサイトがある場合は、1サイトずつ進めます。まとめて変えると、問題が出たときにどれが原因か分からなくなります。
- 確認する:トップページ、会社概要などの個別のページ、お問い合わせフォームのテスト送信、管理画面へのログインと記事の保存まで確認します。
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の更新まで一貫して対応しています。
- 【2026年版】フリーランス1年目の「お金の不安」を全部解決!損害賠償・資金繰り・報酬トラブルに備える無料&低コストサービスまとめ
- お問い合わせフォームのメールが届かない・迷惑メールに入る原因と対策|毎朝の自動テストのすすめ
WEB・PC関連関連記事
-
ホームページのリニューアル、いつ・何から考える?千歳市の制作会社が判断の目安を解説
views
-
ホームページに「保護されていない通信」の警告が出たら?SSL証明書の期限切れの見分け方と対処
views
-
千歳市の会社がホームページを「作りっぱなし」にしないために|保守で毎日やっていること
views
-
お問い合わせの個人情報、サイトの中に溜まっていませんか?|Flamingoの保存データの確認と整理
views
-
WordPress 7に更新したら確認したいこと|実際に起きた表示の不具合と対処
views
-
お問い合わせフォームのメールが届かない・迷惑メールに入る原因と対策|毎朝の自動テストのすすめ
views



