PHP の保守・バージョンアップ

PHP 5 系・7 系で動いているシステムを、PHP 8 系へ移行できます。事前の調査とテストの整備から始め、既存の機能に影響を与えずに段階的に進められます。
CakePHP 2 系などのフレームワークの移行や、サーバーを含むシステムのマイグレーションにも対応でき、今後も安定して運用できるシステムへ移せます。
すべての作業を、セキュリティを意識して進めます。

緊急

PHP に重大な脆弱性が見つかりました

リモートからコードを実行できる 2 件の脆弱性 (CVE-2026-109618、CVE-2026-109619) です。Web のリクエストを処理しているすべての PHP が対象です。対応の方法は、次のどちらかです。

サポート中の PHP 8.2〜8.5 へのバージョンアップ

修正されたバージョン (8.5.12、8.4.27、8.3.36、8.2.35) に更新できます。サポートが終わったバージョンをお使いの場合も、修正が提供されているバージョンへの移行を進められます。

または

すぐにバージョンアップできない場合は、パッチの適用

PHP 8.1 以前には、PHP プロジェクトからの更新はありません。ディストリビューションや LTS ベンダーなどが古いバージョン向けにバックポートした修正 (パッチ) を一時的に適用して、リスクを下げられます。

あわせて行える緩和策として、WAF の導入

Cloudflare や AWS WAF などの WAF (Web アプリケーションファイアウォール) は、この脆弱性を狙う通信を遮断するルールを公開しています。修正を適用するまでの間、WAF を導入・設定して、攻撃を受けるリスクを下げられます。WAF は修正の代わりにはならないため、バージョンアップかパッチの適用とあわせて行います。

PHP の脆弱性についての緊急のご相談

情報は、PHP の公式サイト (php.net) の 2026 年 10 月 21 日のセキュリティアドバイザリと、各社の発表によります。

古い PHP を使い続けることの問題

PHP 5 系・7 系は、公式のサポートが終了しています。脆弱性が見つかっても修正が提供されないため、システムが攻撃を受けやすい状態になります。

セキュリティの更新がない

サポートが終了したバージョンには、脆弱性の修正が提供されません。

サーバーを更新できない

OS やレンタルサーバー、クラウドのサービスが古い PHP の提供を終えると、サーバーの更新や移転ができなくなります。

ライブラリを更新できない

新しいバージョンのライブラリやフレームワークは古い PHP に対応しないため、機能の追加や改修も難しくなります。

取引先のセキュリティチェックで指摘される

サポートの終わった PHP の使用は、取引先のセキュリティチェックや監査で、指摘の対象になります。

PHP のバージョンごとのサポート期限

サポート中セキュリティ修正のみサポート終了濃い色はアクティブサポート、薄い色はセキュリティ修正の期間
2014201520162017201820192020202120222023202420252026202720282029PHP 8.5 アクティブサポート: 2025年11月20日〜2027年12月31日PHP 8.5 セキュリティ修正のみ: 2027年12月31日〜2029年12月31日2029年12月までPHP 8.4 アクティブサポート: 2024年11月21日〜2026年12月31日PHP 8.4 セキュリティ修正のみ: 2026年12月31日〜2028年12月31日2028年12月までPHP 8.3 アクティブサポート: 2023年11月23日〜2025年12月31日PHP 8.3 セキュリティ修正のみ: 2025年12月31日〜2027年12月31日2027年12月までPHP 8.2 アクティブサポート: 2022年12月8日〜2024年12月31日PHP 8.2 セキュリティ修正のみ: 2024年12月31日〜2026年12月31日2026年12月までPHP 8.1 アクティブサポート: 2021年11月25日〜2023年11月25日PHP 8.1 セキュリティ修正のみ: 2023年11月25日〜2025年12月31日終了PHP 8.0 アクティブサポート: 2020年11月26日〜2022年11月26日PHP 8.0 セキュリティ修正のみ: 2022年11月26日〜2023年11月26日終了PHP 7.4 アクティブサポート: 2019年11月28日〜2021年11月28日PHP 7.4 セキュリティ修正のみ: 2021年11月28日〜2022年11月28日終了PHP 7.3 アクティブサポート: 2018年12月6日〜2020年12月6日PHP 7.3 セキュリティ修正のみ: 2020年12月6日〜2021年12月6日終了PHP 7.2 アクティブサポート: 2017年11月30日〜2019年11月30日PHP 7.2 セキュリティ修正のみ: 2019年11月30日〜2020年11月30日終了PHP 7.1 アクティブサポート: 2016年12月1日〜2018年12月1日PHP 7.1 セキュリティ修正のみ: 2018年12月1日〜2019年12月1日終了PHP 7.0 アクティブサポート: 2015年12月3日〜2018年1月4日PHP 7.0 セキュリティ修正のみ: 2018年1月4日〜2019年1月10日終了PHP 5.6 アクティブサポート: 2014年8月28日〜2017年1月19日PHP 5.6 セキュリティ修正のみ: 2017年1月19日〜2018年12月31日終了今日
一覧で表示
バージョン公開日アクティブサポートの終了セキュリティサポートの終了状態
PHP 8.52025年11月20日2027年12月31日2029年12月31日サポート中
PHP 8.42024年11月21日2026年12月31日2028年12月31日サポート中
PHP 8.32023年11月23日2025年12月31日2027年12月31日セキュリティ修正のみ
PHP 8.22022年12月8日2024年12月31日2026年12月31日セキュリティ修正のみ
PHP 8.12021年11月25日2023年11月25日2025年12月31日サポート終了
PHP 8.02020年11月26日2022年11月26日2023年11月26日サポート終了
PHP 7.42019年11月28日2021年11月28日2022年11月28日サポート終了
PHP 7.32018年12月6日2020年12月6日2021年12月6日サポート終了
PHP 7.22017年11月30日2019年11月30日2020年11月30日サポート終了
PHP 7.12016年12月1日2018年12月1日2019年12月1日サポート終了
PHP 7.02015年12月3日2018年1月4日2019年1月10日サポート終了
PHP 5.62014年8月28日2017年1月19日2018年12月31日サポート終了
  • セキュリティサポートが終了したバージョンには、脆弱性の修正が提供されません。
  • 出典: endoflife.date(2026年10月28日に取得)。状態は取得した日の時点です。

OS による延長サポート対象かどうかを KEY SELECT が確認できます

PHP の公式のサポートが終わったバージョンでも、サーバーの OS に含まれる PHP には、OS の提供元がセキュリティの修正を続けて提供している場合があります。Red Hat Enterprise Linux や、Ubuntu (Ubuntu Pro) などが該当します。

ただし、修正が提供されるのは OS の公式のパッケージで入れた PHP だけで、期間と修正の範囲は OS とバージョンによって異なります。PHP の上で動くフレームワークやライブラリは、対象になりません。

  • お使いのサーバーの OS とバージョン、PHP の入れ方を確認し、延長サポートの対象かどうかを調べられます。
  • 修正がいつまで提供されるかを確認し、PHP 8 系へ移行する時期をご提案できます。
  • 延長サポートに有償の契約が必要な場合は、その費用も含めて、移行と比べられます。

対応できること

PHP のバージョンアップだけでなく、フレームワークやサーバーを含めた移行もお引き受けできます。すべての作業を、セキュリティを意識して進めます。他社が開発したシステムにも対応できます。

事前の調査

ソースコードと動いている環境を調べ、移行で直す必要がある箇所と、作業の量を確認できます。

PHP 8 系への移行

PHP 5 系・7 系で書かれたコードを、PHP 8 系で動くように直せます。

フレームワークの移行

CakePHP 2 系などの古いフレームワークを、PHP 8 系で動く状態に移行できます。

ライブラリの更新

Composer で管理しているライブラリと、手作業で組み込まれたライブラリを、PHP 8 系に対応したバージョンへ更新できます。

テストと CI の整備

今の動作を自動テストに記録し、変更のたびにテストと静的解析が動く仕組みを整えられます。

サーバーの移行

古い OS のサーバーから、新しいサーバーや AWS などのクラウドへの移行もあわせて対応できます。

セキュリティの検査

SCA、SAST、DAST で、パッケージ、コード、動いているアプリケーションを検査できます。

サーバーレスへの移行

AWS Lambda で動かす構成に移し、サーバーの管理と OS の更新の手間をなくせます。

PHP の上で動くソフトウェアもあわせて

PHP のバージョンアップでは、PHP の上で動くフレームワーク、ライブラリ、CMS も、新しい PHP に対応したバージョンへの更新が必要です。PHP の拡張、Web サーバー、データベース、OS のバージョンアップが必要になることもあります。動いているソフトウェアをすべて洗い出してから、更新の順番を決められます。

古い JavaScript と CSS の移行

jQuery のプラグインや手作業で組み込まれたファイルなど、古い JavaScript と CSS も移行できます。Vite を使ったビルドに移し、ファイルの読み込みと更新を管理しやすくできます。CakePHP 2 系では、pieceofcake2 の Vite のプラグインで、ビルドしたファイルを読み込めます。

移行で直す必要がある主な箇所

PHP はバージョンが上がるたびに、関数の削除や動作の変更があります。古いバージョンから移行するほど、確認する箇所は多くなります。

削除された関数

PHP 7.0 で mysql_ で始まるデータベースの関数や ereg などが、PHP 8.0 で each や create_function が削除されました。使っている箇所を、新しい書き方に置き換える必要があります。

比較の結果の変更

PHP 8.0 で、数値と文字列を比べたときの結果が変わりました。条件の分岐が以前と違う結果になる場合があり、画面の表示だけでは気づきにくい変更です。

エラーの扱いの変更

PHP 8.0 で、それまで警告で済んでいた誤りの多くが、処理を止めるエラーになりました。古いコードでは、動いていた画面が表示されなくなることがあります。

非推奨になった書き方

PHP 8.1 以降では、組み込みの関数に null を渡す書き方や、宣言していないプロパティへの代入などが非推奨になりました。次のバージョンアップに備えて、あわせて直せます。

バージョンごとの書き方の変化

既存の機能を守る進め方

移行の前に今の動作を自動テストに記録し、移行のあとも同じ結果になることを確かめながら進められます。変更はすべてエンジニアがレビューします。

  1. 事前の調査

    静的解析で、移行先の PHP で動かない箇所を洗い出し、移行の方法と作業の量をご報告します。

  2. テストの整備

    テストがないシステムでも、主な画面の操作は E2E テストに、処理は PHPUnit や Pest のテストに、今の動作を記録してから作業を始められます。

  3. 段階的な移行

    今のバージョンと移行先のバージョンの両方で動くように直しながら、小さな単位で進められます。

  4. 自動テストと静的解析

    変更のたびに、CI で自動テストと静的解析を動かし、以前と同じ動作であることを確かめられます。

  5. 検証環境での確認

    本番と同じ構成の検証環境で、お客様にも画面と業務の流れをご確認いただけます。

  6. 本番の切り替え

    切り戻しの手順を用意してから切り替え、切り替えたあとの動作を監視できます。

利用するツール書き換え、テスト、コードの検査、CI

Rector での機械的な書き換え、PHPUnit や Pest と E2E のテスト、PHPStan の静的解析、PHP-CS-Fixer や PHP_CodeSniffer での書き方の統一を、CI で変更のたびに自動で動かします。

セキュリティの検査SCA、SAST、DAST

ソフトウェア構成分析 (SCA)

使っているパッケージの脆弱性

Composer で入れているパッケージに、既知の脆弱性や開発が終了したものがないかを調べられます。

静的アプリケーションセキュリティテスト (SAST)

コードに潜む危険な書き方

文字列で組み立てた SQL、エスケープされない出力、リクエストの値によるリダイレクトなどを、コードから見つけられます。

動的アプリケーションセキュリティテスト (DAST)

動いているアプリケーションの検査

アプリケーションを動かした状態で外から検査し、セキュリティヘッダー、Cookie、フォームの CSRF 対策などの不備を見つけられます。

これらの検査を CI に組み込み、変更のたびに自動で動かすことで、高い品質を保てます。検査の結果は報告書にまとめてお渡しできます。

報告書の例検査ツールで出力した報告書のサンプル

ソフトウェア構成分析報告書のサンプル。結果、リスク別の脆弱性、脆弱性の詳細、検査したパッケージのページ
ソフトウェア構成分析 (SCA) 報告書
静的アプリケーションセキュリティテスト報告書のサンプル。結果、リスク別の指摘、指摘の詳細のページ
静的アプリケーションセキュリティテスト (SAST) 報告書
動的アプリケーションセキュリティテスト報告書のサンプル。結果、リスク別のアラート、アラートの詳細と対策のページ
動的アプリケーションセキュリティテスト (DAST) 報告書
  • 報告書は、検査用のサンプルのアプリケーションを検査した例です。検査の対象と基準は、お客様のシステムに合わせて決めます。

フレームワークの移行

PHP のバージョンアップにあわせて、フレームワークの移行にも対応できます。フレームワークを使っていない独自の PHP のシステムも、お引き受けできます。

CakePHP 2 系の延命と移行

サポートが終了した CakePHP 2 系を、pieceofcake2 で PHP 8 系に移すか、新しいフレームワークへ移行できます。

CakePHP 2 系の移行

CakePHP 3・4 から 5 へ

メジャーバージョンごとの変更点に沿って、段階的に移行できます。

Laravel・Symfony のサポートの終わったバージョンから

フレームワークと PHP のバージョンをあわせて上げ、依存パッケージも更新できます。

そのほかのフレームワーク

CodeIgniter、Zend Framework (Laminas)、FuelPHP などで作られたシステムにも対応できます。

独自の PHP のシステム

フレームワークを使わずに作られたシステムも、テストを追加しながら移行できます。

WordPress のサイト

テーマやプラグインを、新しい PHP で動くように直せます。

WordPress の保守運用

サーバーレス (AWS Lambda) への移行

PHP のシステムを、サーバーの管理が不要な AWS Lambda の構成に移せます。バージョンアップとあわせて行うと、インフラの費用と、保守運用の手間を抑えられます。

使った分だけのインフラの費用

リクエストを処理した分だけの課金になり、アクセスの少ない時間帯に待機しているサーバーの費用がかかりません。

サーバーの管理が不要に

OS とミドルウェアの更新や、サーバーの台数と容量の管理が不要になり、保守運用の手間を減らせます。

アクセスの急増に合わせて、処理能力を自動で拡張できる

アクセスに合わせて処理が自動で増えるため、テレビ放送やキャンペーンによるアクセスの急増にも備えられます。

サーバーレスへの移行とコストの削減

移行後の保守

PHP には約 4 週間ごとに修正バージョンが出て、どのバージョンもサポートは 4 年で終わります。修正バージョンの確認と適用、依存パッケージの更新、次のバージョンへの計画的な移行まで、継続してお引き受けできます。移行を担当したエンジニアが保守を続けるため、システムを把握したまま対応できます。

修正バージョンの適用

毎月、PHP の修正バージョンを確認し、検証環境で確かめてから本番に入れられます。深刻な脆弱性は、決めた日を待たずに対応できます。Composer のパッケージ、OS、Web サーバー、データベースの修正もあわせてお引き受けできます。

次のバージョンへの移行

サポートの期限から逆算して、次のバージョンへの移行を計画し、1〜2 年ごとに少しずつ上げられます。PHP 8.2 のサポートは、2026 年 12 月 31 日で終わります。

移行後の保守の詳細

ご依頼の流れ

費用は、事前の調査の結果をもとにお見積もりします。

  1. ご相談

    PHP とフレームワークのバージョン、システムの規模、テストの有無、移行したい時期を伺います。

  2. 事前の調査

    ソースコードと環境をお預かりして調べ、直す必要がある箇所と移行の方法をご報告します。

  3. お見積もり

    調査の結果をもとに、作業の範囲、費用、スケジュールをご提示します。

  4. 移行

    テストの整備から段階的な移行、検証環境での確認まで進めます。

  5. 本番の切り替え

    切り戻しの手順を用意してから、本番を切り替えます。

  6. 保守運用

    移行したあとの監視と、PHP の次のバージョンアップもお引き受けできます。

よくあるご質問

移行の作業中も、システムは使えますか。
作業は検証環境で進めるため、本番のシステムは切り替えのときまで今までどおりお使いいただけます。
テストがないシステムでも移行できますか。
はい、移行の前に、主な画面と処理の今の動作を自動テストに記録してから作業を始められます。
他社が開発したシステムでも依頼できますか。
はい、お引き受けできます。事前の調査で、ソースコードと環境を確認してから進めます。
フレームワークを使っていないシステムでも対応できますか。
はい、対応できます。事前の調査で、移行の方法と作業の量をご報告します。
費用と期間はどのくらいかかりますか。
システムの規模、移行前のバージョン、テストの有無によって大きく変わります。事前の調査の結果をもとにお見積もりします。

ご相談・お問い合わせ

内容が固まっていない段階からご相談いただけます。各分野のプロフェッショナルがご対応いたします。ご相談・お見積もりは無料です。