PHPのバージョンが古いまま放置するリスクとアップデートが必要な理由
はじめに
こんなことでお困りではありませんか。
「サイトの表示が遅くなってきた気がする」「WordPressの更新ボタンを押したらエラーが出た」「セキュリティ系のプラグインが動かなくなった」
原因として意外と多いのが、PHPのバージョンが古いまま放置されているケースです。
PHPはWebサービスの見えない土台を支えるプログラミング言語で、定期的なバージョンアップが前提となっています。ところが「サイトが動いているから問題ない」と思って何年も放置しているケースが、クライアントから相談を受けるたびに出てきます。
化学メーカーで研究開発をしていた頃、分析機器の校正や設備の定期点検は「問題が出てから」ではなく「問題が出る前に」行うのが当たり前でした。「動いているから大丈夫」は、製造現場では通用しない考え方です。PHPのバージョン管理も、まったく同じだと感じています。
この記事のまとめ
- ⚡PHPはWebサービスの土台となるプログラミング言語。バージョンが古いと「家の基礎が腐っている」状態になる
- ⚡サポートが終了したPHPを使い続けると、セキュリティパッチが当たらず攻撃の標的になりやすい
- ⚡古いPHPはWordPressやプラグインのアップデートを妨げ、セキュリティリスクを連鎖的に高める
- ⚡パフォーマンスへの影響も大きく、ページ表示速度の低下がユーザー離脱や検索順位に響く
- ⚡「動いているから大丈夫」は危険な思い込み。定期的な確認と計画的なアップデートが必要
そもそもPHPとは?
PHP(Hypertext Preprocessor)は、Webサーバー上で動くプログラミング言語です。WordPressをはじめ、多くのWebサービスやCMS(コンテンツ管理システム)の基盤として広く使われています。
HTMLがブラウザ側で動くのに対して、PHPはサーバー側で処理を行います。お問い合わせフォームの送信処理、会員ログインの認証、ブログ記事の動的な表示。こうした「動きのある機能」の多くは、PHPが動かしています。
PHPには定期的にバージョンアップが行われており、各バージョンにはサポート期間が設定されています。初回リリースから約2年間がアクティブサポート、その後1年間がセキュリティサポートで、合計約3年でサポートが終了します。
現在のサポート状況はPHP公式サイトで確認できます。「自分のサイトがどのバージョンを使っているか分からない」という方は、まずここを確認してみてください。
バージョンが古いまま放置するとどうなるか
セキュリティの脆弱性が放置される
サポートが終了したPHPバージョンには、新しく発見された脆弱性に対するパッチが提供されません。
脆弱性とは、攻撃者に悪用される可能性のある欠陥のことです。発見されれば、通常はすぐにパッチが当てられます。しかしサポートが終了したバージョンでは、その対応が行われない。
攻撃者は脆弱性のある古いバージョンのPHPを使っているサイトを意図的に探します。ツールを使えば大量のサイトを自動スキャンできるため、「小さなサイトだから狙われない」という考え方は通用しません。
実際に起きるトラブルとしては、サイトの改ざん(不審なリンクや広告を埋め込まれる)、閲覧者のデバイスへのマルウェア(悪意のあるプログラム)感染、情報漏洩といったものがあります。発覚したときにはすでに被害が広がっていた、というケースも少なくありません。
WordPressとプラグインのアップデートができなくなる
WordPressは世界シェア1位のCMSで、それだけ攻撃のターゲットにもなりやすいシステムです。セキュリティ対策として、WordPressのコアやプラグインは定期的にアップデートを行う必要があります。
ところが、PHPのバージョンが古いと、このアップデートができなくなることがあります。新しいバージョンのWordPressやプラグインが、古いPHPに対応していないためです。
「アップデートしようとしたらエラーが出た」「プラグインが動かなくなった」という相談を受けたとき、確認するとPHPのバージョンが数年前のままだったことは珍しくありません。アップデートできないということは、セキュリティの穴がそのまま放置されているということでもあります。
表示速度が落ちる
PHPは新しいバージョンになるほど処理速度が向上しています。PHP 8系はPHP 5系と比べると、処理速度が大幅に改善されています。
古いバージョンのまま使い続けていると、同じ処理をするのに時間がかかります。結果として、ページの表示速度が落ちる。
表示速度は、ユーザーの体験に直結します。「ページが重い」と感じたユーザーはすぐに別のサイトへ移動してしまいます。また、Googleはページの表示速度をSEO(検索エンジン最適化)の評価指標の一つとしています。表示速度が遅いサイトは、検索結果での順位にも影響が出る可能性があります。
「動いているから大丈夫」が一番危ない
PHPのバージョンが古くても、サイト自体は動き続けます。表示もされる、フォームも送信できる、一見何も問題ないように見える。
これが厄介なところです。
化学メーカー時代、分析機器の校正を怠ったまま測定を続けているケースを目にしたことがあります。機器は動いている。数値も出ている。でも、その数値が正しいかどうかは保証できない。校正記録がないまま何年も使い続けて、ある時点でデータの信頼性が問題になる。
PHPも同じで、「動いているから安全」とは言えません。脆弱性は静かに蓄積されていて、攻撃者に発見されたときに初めて被害として表れます。
問題が起きてから対応するのでは、手遅れになるケースがあります。特にサイトが改ざんされてしまうと、復旧作業には想定以上の時間と費用がかかります。信頼性へのダメージも含めると、定期的なアップデートにかかるコストとは比べものになりません。
まずできることから
PHPのバージョンアップは、状況によって対応方法が異なります。サーバーの設定変更で対応できる場合もあれば、古いPHPに依存したコードの修正が必要な場合もあります。
まず確認してほしいのは以下の2点です。
自分のサイトが使っているPHPのバージョンはいくつか。WordPressを使っている場合は、管理画面の「ツール → サイトヘルス」から確認できます。そのバージョンは現在もサポートされているか。PHP公式サイトのサポート状況ページで確認できます。
「確認してみたけど、どう対応すればいいか分からない」「アップデートしようとしたら別の問題が出た」という場合は、お気軽にご相談ください。状況をヒアリングした上で、適切な対応方法をご提案します。
まとめ
PHPのバージョンが古いまま放置していると、セキュリティの脆弱性、WordPressのアップデート障害、表示速度の低下という3つのリスクが蓄積されていきます。サイトが動いているように見えても、土台の部分が危うくなっている状態です。
「後で対応しよう」と思っているうちに何年も経ってしまうのはよくあることですが、問題が表面化してからでは手遅れになるケースもあります。まずは現在のPHPバージョンを確認するところから始めてみてください。