2025/09/08
Share
Nâng cấp phiên bản từ CakePHP 2 lên CakePHP 3
Tổng quan dự án
Dự án này là việc nâng cấp hệ thống hiện có được phát triển trên CakePHP 2.6 lên bản ổn định của CakePHP 3.
Vì CakePHP 2 đã kết thúc hỗ trợ bảo mật, việc làm mới nền tảng để đảm bảo vận hành dài hạn là cần thiết.
Vì vậy, chúng tôi đã khảo sát và lựa chọn phiên bản có độ ổn định cao trong dòng CakePHP 3, và chuyển toàn bộ hệ thống sang CakePHP 3.9.
Song song, chúng tôi điều chỉnh middleware (phần mềm trung gian) phục vụ quá trình chuyển đổi và thực hiện kiểm thử hoạt động trên trình duyệt, ưu tiên duy trì chức năng hiện có và bảo đảm ổn định.
Ngăn xếp công nghệ và công cụ phát triển đã sử dụng
- Ngôn ngữ lập trình: PHP
- Cơ sở dữ liệu: Oracle
- Công cụ quản lý công việc: Redmine
- Công cụ giao tiếp: Slack
- Công cụ khác: Upgrade Tool(https://book.cakephp.org/3/ja/upgrade-tool.html)
Thách thức của khách hàng
Khách hàng đang vận hành hệ thống hiện có trên CakePHP 2, nhưng kể từ ngày 15 tháng 6 năm 2021 việc hỗ trợ bảo mật cho CakePHP 2 đã kết thúc, dẫn tới các rủi ro sau:
-
Quan ngại về lỗ hổng bảo mật
-
Khó đáp ứng các tiêu chuẩn và yêu cầu phát triển mới nhất
Nếu tiếp tục không thay đổi, việc vận hành sẽ tiềm ẩn rủi ro lớn.
Yêu cầu của khách hàng
Trong dự án này, chúng tôi đã nhận được các yêu cầu sau từ khách hàng.
・Khảo sát và áp dụng phiên bản ổn định của CakePHP 3
・Điều chỉnh middleware của hệ thống để tương thích với CakePHP 3
・Duy trì các chức năng tương đương sau khi nâng cấp
・Đảm bảo hoạt động ổn định trên Google Chrome và Microsoft Edge
Đề xuất và phương pháp tiếp cận của chúng tôi
- Lựa chọn phiên bản ổn định
Chúng tôi ưu tiên tính ổn định và khả năng bảo trì, vì vậy đã lựa chọn CakePHP 3.9. Đồng thời, chúng tôi kiểm chứng khả năng tương thích của các middleware đang sử dụng và lựa chọn phương án vận hành ổn định.
- Tận dụng công cụ chuyển đổi tự động
Chúng tôi sử dụng Upgrade Tool chính thức để tự động chuyển đổi mã nguồn và hàm từ CakePHP 2 sang CakePHP 3, qua đó nâng cao hiệu suất và giảm thiểu lỗi do con người.
- Kiểm chứng chức năng và kiểm thử trình duyệt
Sau khi chuyển đổi, chúng tôi thực hiện kiểm tra vận hành toàn diện để bảo đảm các chức năng được duy trì tương đương với hệ thống cũ. Đồng thời, chúng tôi so sánh hành vi hệ thống trước/sau nâng cấp trên Google Chrome và Microsoft Edge nhằm xác nhận tính nhất quán và ổn định trên trình duyệt.
- Ứng phó nhanh với các vấn đề phát sinh
Trong quá trình chuyển từ CakePHP 2 sang CakePHP 3, một số lỗi phát sinh do thay đổi đặc tả của ORM và Core API. Với từng trường hợp, chúng tôi phân tích nguyên nhân, triển khai mã thay thế và điều chỉnh luồng xử lý, nhờ đó khắc phục nhanh chóng và bảo đảm hệ thống vận hành ổn định.
Related Case Studies