Bỏ qua để đến nội dung

Nâng cấp từ XOOPS 2.5 lên 2.7

:::thận trọng[Sao lưu trước] Luôn sao lưu cơ sở dữ liệu và tập tin của bạn trước khi nâng cấp. Không có ngoại lệ. :::

Điều gì đã thay đổi trong phiên bản 2.7

Phần tiêu đề “Điều gì đã thay đổi trong phiên bản 2.7”
  • Yêu cầu PHP 8.2+ — PHP 7.x không còn được hỗ trợ
  • Các phần phụ thuộc do nhà soạn nhạc quản lý — Thư viện lõi được quản lý qua composer.json
  • Tự động tải PSR-4 — Mô-đun classes có thể sử dụng không gian tên
  • XoopsObject được cải tiến — Loại an toàn getVar() mới, obj2Array() không được dùng nữa
  • Bootstrap 5 admin — Bảng quản trị được xây dựng lại bằng Bootstrap 5
  • PHP 8.2+ có sẵn trên máy chủ của bạn
  • Sao lưu toàn bộ cơ sở dữ liệu (mysqldump -u user -p xoops_db > backup.sql)
  • [] Sao lưu toàn bộ tập tin cài đặt của bạn
  • Danh sách modules đã cài đặt và các phiên bản của chúng
  • [] Chủ đề tùy chỉnh được sao lưu riêng
// mainfile.php — add temporarily
define('XOOPS_MAINTENANCE', true);
Terminal window
wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zip
unzip xoops-2.7.x.zip

Tải lên các tập tin mới, không bao gồm:

  • uploads/ — tệp đã tải lên của bạn
  • xoops_data/ — cấu hình của bạn
  • modules/ — modules đã cài đặt của bạn
  • themes/ — themes của bạn
  • mainfile.php — cấu hình trang web của bạn
Terminal window
rsync -av --exclude='uploads/' --exclude='xoops_data/' \
--exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \
xoops-2.7/ /var/www/html/

Điều hướng đến https://yourdomain.com/upgrade/ trong trình duyệt của bạn. Trình hướng dẫn nâng cấp sẽ áp dụng việc di chuyển cơ sở dữ liệu.

XOOPS 2.7 modules phải tương thích với PHP 8.2. Kiểm tra Hệ sinh thái mô-đun để biết các phiên bản cập nhật.

Trong Quản trị → Mô-đun, nhấp vào Cập nhật cho từng mô-đun đã cài đặt.

Xóa dòng XOOPS_MAINTENANCE khỏi mainfile.php và xác minh tất cả các trang tải chính xác.

Lỗi “Không tìm thấy lớp” sau khi nâng cấp

  • Chạy composer dump-autoload trong root XOOPS
  • Xóa thư mục xoops_data/caches/

Mô-đun bị hỏng sau khi cập nhật

  • Kiểm tra các bản phát hành GitHub của mô-đun để biết phiên bản tương thích 2.7
  • Mô-đun có thể cần thay đổi mã cho PHP 8.2 (các chức năng không được dùng nữa, thuộc tính đã nhập)

Bảng quản trị CSS bị hỏng

  • Xóa bộ nhớ cache của trình duyệt của bạn
  • Đảm bảo xoops_lib/ đã được thay thế hoàn toàn trong quá trình tải tệp lên