「PHPが古いのはわかっているけれど、今のところ動いているから放置している」——こうした状況のシステムは非常に多く存在します。しかし、PHPのバージョンが古いままであることには、見えにくいリスクが伴います。
PHPのバージョンとサポート期間
PHPには各バージョンごとにサポート期間が設けられており、期間を過ぎると「セキュリティアップデートが提供されなくなる」状態になります。新しい脆弱性が発見されても、古いバージョンには修正パッチが届きません。
たとえばPHP 7.4は2022年11月にサポートが終了しています。現時点でPHP 7.4以前を使用しているシステムは、既知のセキュリティホールを放置した状態で動いていることになります。
放置し続けるとどうなるか
セキュリティリスクの蓄積
サポートが切れたバージョンには脆弱性情報が公開されています。悪意のある第三者がその情報を利用してシステムに侵入しようとするリスクが高まります。個人情報や取引データを扱うシステムであれば、被害が大きくなる可能性があります。
ホスティング会社からの強制アップデート
サーバーを管理しているホスティング会社が、サポートの終了したPHPバージョンを強制的に削除することがあります。突然PHPのバージョンが上がり、動作確認が取れていないまま本番環境が変わってしまうケースです。準備なしのバージョンアップは、予期しない不具合を引き起こします。
新しいライブラリが使えなくなる
システムで使用しているライブラリやフレームワークが、古いPHPバージョンをサポートしなくなります。セキュリティパッチが含まれた新しいバージョンに更新できず、脆弱性を抱えたライブラリを使い続けることになります。
バージョンアップは一度にやらなくていい
「バージョンアップしたら動かなくなるのが怖い」という声はよく聞きます。しかし、バージョンアップは段階的に進めることができます。
たとえばPHP 7.4 → 8.0 → 8.1 → 8.2 と一段階ずつ上げながら、各段階でテストを行うことで、問題の切り分けがしやすくなります。一気に最新版に上げるよりも、リスクを分散しながら安全に進めることができます。
まずは現状確認から
現在のシステムがどのバージョンで動いているかを確認することが最初の一歩です。サーバーにSSHでアクセスできる場合は php -v で確認できます。わからない場合はホスティング会社の管理画面を確認するか、保守会社に調査を依頼してみてください。