Chào anh em, hôm nay mình lên chia sẻ câu chuyện “đau thương mà buồn cười” khi cố gắng giúp khách hàngcnâng cấp XenForo từ 2.2.17 lên 2.3.7. Spoiler trước: Upgrade không thành nhưng rollback thành công ngoài mong đợi!
“Có bản XenForo 2.3.7 mới, nâng cấp đơn giản thôi!”
Một sai lầm trông thấy…
Cái trang nó bảo:
Chưa kịp hiểu thì nó ném tiếp một quả lỗi dài ngoằng:
Đọc xong là biết PHP 7.2 nó tuyệt giao với code 2.3.7 rồi.
Nâng cấp kiểu này chỉ có toang. Buộc phải rollback.
Điều may mắn là:
Database chưa hề bị động vào!
Ơn giời, rollback được rồi!
Forum sống lại ngay, hoạt động phà phà như chưa có gì xảy ra
Giờ forum vẫn chạy 2.2.17 rất ổn định.
Muốn lên 2.3.7?
Nâng server trước đã, rồi hẵng nghĩ chuyện upgrade.
Không thì lại viết thêm một bài "kể khổ" phần 2.
1. Trạng thái ban đầu – tưởng ổn mà không ổn
Forum đang chạy:- XF 2.2.17 (ngon lành)
- PHP 7.2 (khá già nua)
- MySQL 5.6 (lại càng già nữa)
“Có bản XenForo 2.3.7 mới, nâng cấp đơn giản thôi!”
Một sai lầm trông thấy…
2. Upload code 2.3.7 – tưởng xong ai dè chưa bắt đầu đã lỗi
Sau khi upload source 2.3.7, mình hí hửng vào /install/.Cái trang nó bảo:
Ơ kìa? Mình vừa upload xong mà?An upgrade was found for a version newer than the uploaded files.
Chưa kịp hiểu thì nó ném tiếp một quả lỗi dài ngoằng:
Fatal Error: Declaration of MessageIDValidation::isValid(...)
must be compatible with EmailValidation::isValid(...)
Đọc xong là biết PHP 7.2 nó tuyệt giao với code 2.3.7 rồi.
3. Phát hiện nguyên nhân – server tuổi cao sức yếu
Tra nhanh docs thì biết ngay:- XF 2.3 yêu cầu PHP ≥ 8.1
- MySQL ≥ 5.7
- PHP 7.2: hưu non
- MySQL 5.6: sắp nghỉ việc
Nâng cấp kiểu này chỉ có toang. Buộc phải rollback.
Điều may mắn là:
Database chưa hề bị động vào!
Ơn giời, rollback được rồi!
4. Rollback – cú quay xe thần tốc
Rollback trong trường hợp database chưa bị upgrade thì nhẹ như mây.Mình làm như sau:
✔ Xóa sạch code 2.3:
Chú ý folder src/XF/Install/Upgrade chứa log ngăn bạn rollback/src/
/js/
/styles/
/install/
✔ Upload lại toàn bộ code 2.2.17
Khoảng 5–10 phút tùy mạng.✔ Kiểm tra file install-lock.php
Nó còn nguyên → tuyệt vời.✔ Reload site
Boom!Forum sống lại ngay, hoạt động phà phà như chưa có gì xảy ra
5. Bài học rút ra – nghe kỹ giúp tránh đau thương
- Đừng nâng cấp XF 2.3.7 nếu server vẫn còn PHP 7.2 – MySQL 5.6
- Hãy đọc yêu cầu hệ thống trước khi upgrade
- Backup đầy đủ trước khi nghịch
- Và nhớ: Rollback không khó nếu database chưa bị sờ gáy!
6. Kết luận – upgrade fail nhưng tâm trạng vẫn vui
Dù không nâng cấp thành công lên XF 2.3.7, nhưng rollback cực nhanh và gọn gàng.Giờ forum vẫn chạy 2.2.17 rất ổn định.
Muốn lên 2.3.7?
Nâng server trước đã, rồi hẵng nghĩ chuyện upgrade.
Không thì lại viết thêm một bài "kể khổ" phần 2.
Bài viết chỉ thể hiện quan điểm cá nhân của tác giả và mang tính tham khảo.
Chúng tôi không chịu trách nhiệm cho bất kỳ rủi ro nào phát sinh từ việc sử dụng thông tin trong bài viết.
Bài viết liên quan

![[VNXF 2x] Best Statistics Pro – Thống kê nâng cao, tối ưu hiệu năng cho XenForo 1.1](https://cdn.vnxf.vn/data/assets/logo_alternate/vnxf-2x-best-statistics-pro-m.webp)


