Hướng dẫn nâng cấp EC-CUBE version

Tạo bởi Hoàng Vũ, chỉnh sửa cuối lúc 8 tháng 4, 2025

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:

  1. Cập nhật phiên bản EC-CUBE trong composer.json
    Ví dụ:

    "ec-cube/ec-cube": "^4.3"
    
  2. Chạy lệnh cập nhật:

    composer update ec-cube/ec-cube
    
  3. Chạy các lệnh migrate:

    php bin/console doctrine:migrations:migrate
    php bin/console cache:clear --env=prod
    
  4. 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ó
Website Logo

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.

Bình luận

Website Logo

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

Chúng Tôi Trên

Bạn đang muốn học về lập trình website?

Bạn cần nâng cao kiến thức chuyên nghiệp hơn để nâng cao cơ hội nghề nghiệp? Liên hệ