Hướng dẫn nâng cấp EC-CUBE version
EC-CUBE thường xuyên được cập nhật để vá lỗi, tăng hiệu năng, và bổ sung tính năng mới. Tuy nhiên, nâng cấp không đơn giản như “ấn nút”, vì có thể ảnh hưởng đến:
- Plugin cài đặt sẵn
- Theme và template tùy chỉnh
- Code override hoặc logic custom
Vì vậy, bạn cần nắm được quy trình nâng cấp một cách bài bản và an toàn.

Nâng cấp EC-CUBE
1. Kiểm tra phiên bản và release note
- Truy cập: https://www.ec-cube.net/news/
- Kiểm tra changelog và các thay đổi phá vỡ (breaking changes) trong phiên bản mới.
- Kiểm tra yêu cầu về môi trường PHP, database...
Ví dụ: từ EC-CUBE 4.2 → 4.3 có thể thay đổi các hook, template, hoặc cấu trúc DB.
2. Sao lưu toàn bộ hệ thống
Backup là bước bắt buộc!
- Backup database (mysqldump / pg_dump)
- Backup source code, plugin, media (ảnh sản phẩm...)
Có thể thực hiện bằng tar
, git
, hoặc Docker snapshot nếu bạn dùng Docker.
3. Nâng cấp thông qua Composer
Các bước chính:
-
Cập nhật phiên bản EC-CUBE trong
composer.json
Ví dụ:"ec-cube/ec-cube": "^4.3"
-
Chạy lệnh cập nhật:
composer update ec-cube/ec-cube
-
Chạy các lệnh migrate:
php bin/console doctrine:migrations:migrate php bin/console cache:clear --env=prod
-
Kiểm tra lại website: frontend, admin, giỏ hàng, đặt hàng...
4. Sửa lỗi tương thích (nếu có)
Sau khi nâng cấp, có thể phát sinh lỗi do:
- Plugin không tương thích với version mới
- Template override cũ không còn hợp lệ
- Logic hook hoặc EventSubscriber cần sửa lại
Giải pháp:
- Cập nhật plugin (nếu có bản mới)
- Kiểm tra lỗi trong log (
var/log/prod.log
) - So sánh file gốc của version mới với file override cũ
5. Kiểm tra kỹ sau khi nâng cấp
- Test frontend: hiển thị sản phẩm, thêm giỏ hàng
- Test backend: đăng nhập admin, tạo đơn hàng, quản lý sản phẩm
- Kiểm tra form, CSRF token, đường dẫn routing
- Bật debug mode nếu cần để dễ kiểm tra lỗi:
APP_DEBUG=1 php bin/console server:run
Kết luận
Nâng cấp EC-CUBE là một bước quan trọng để giữ website bảo mật, ổn định và hiện đại. Tuy nhiên, hãy luôn nhớ:
- Sao lưu trước khi nâng cấp
- Test kỹ sau khi nâng cấp
- Đọc kỹ tài liệu release để tránh lỗi không đáng có

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.
Xem thêm

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.
Liên hệ công việc qua email dưới đây.
lhvuctu@gmail.com