2025/09/08
Share
CakePHP2からCakePHP3へのバージョンアップ対応
案件概要
本プロジェクトでは、CakePHP2.6で開発された既存システムを、CakePHP3の安定版へバージョンアップしました。
CakePHP2はすでにセキュリティサポートが終了しており、長期的な運用に耐えられるシステム基盤への刷新が必要とされていました。
そのため、CakePHP3の中から安定性の高いバージョンを調査・選定し、システム全体をCakePHP3.9へ移行しました。
加えて、移行に伴うミドルウェア(Middleware)の調整や、ブラウザ動作検証などを通じて、既存機能の維持と安定性の確保を重視しました。
利用した技術スタック及び開発ツール
- プログラミング言語:PHP
- データベース:Oracle
- タスク管理ツール:Redmine
- コミュニケーションツール:Slack
- その他ツール:アップグレードツール(https://book.cakephp.org/3/ja/upgrade-tool.html)
クライアントの課題
クライアントは既存システムをCakePHP2で運用していましたが、2021年6月15日をもってCakePHP2のセキュリティサポートが終了したため、以下のようなリスクを抱えていました。
-
セキュリティ脆弱性への懸念
-
最新の開発標準や要件に対応できない状態
このままでは、運用継続に大きなリスクが伴う状況でした。
クライアントの要望
本プロジェクトに於いてクライアントから下記の要望をいただきました。
・CakePHP3の安定版の調査と採用
・システムのミドルウェアをCakePHP3に対応させること
・バージョンアップ後も従来と同等の機能を維持すること
・Google ChromeおよびMicrosoft Edgeでの安定した動作を保証すること
当社の提案及びアプローチ
- 安定版の選定
まずCakePHP3の中で安定性・保守性に優れたバージョンを調査し、CakePHP3.9を採用しました。
また、システムで利用するミドルウェアについても互換性を検証し、安定稼働可能なものを選定しました。
- 自動変換ツールの活用
公式のUpgrade Toolを用い、ソースコードや関数をCakePHP2からCakePHP3に自動変換しました。これにより作業効率を高め、ヒューマンエラーを抑制しました。
- 機能検証とブラウザテスト
移行後は徹底的な動作確認を行い、既存システムと同等の機能を維持していることを検証しました。さらに、Google ChromeおよびMicrosoft Edge上で新旧システムの挙動を比較し、ブラウザ環境での一貫性と安定性を確認しました。
- 発生課題への迅速対応
CakePHP2からCakePHP3への移行では、ORMやコアAPIの仕様変更などによる不具合が発生しました。
当社では発生ごとに調査を行い、代替コードの実装や処理フローの調整を行いました。これにより不具合を速やかに解消し、システムの安定稼働を実現しました。
Related Case Studies