อัปเกรดจาก XOOPS 2.5 เป็น 2.7
:::ข้อควรระวัง[สำรองข้อมูลก่อน] สำรองฐานข้อมูลและไฟล์ของคุณก่อนอัปเกรดเสมอ ไม่มีข้อยกเว้น ::::::
สิ่งที่เปลี่ยนแปลงไปใน 2.7
หัวข้อที่มีชื่อว่า “สิ่งที่เปลี่ยนแปลงไปใน 2.7”- PHP ต้องใช้ 8.2+ — PHP 7.x ไม่ได้รับการสนับสนุนอีกต่อไป
- การพึ่งพาที่จัดการโดยผู้แต่ง — ไลบรารีหลักที่จัดการผ่าน
composer.json - PSR-4 การโหลดอัตโนมัติ — คลาสโมดูลสามารถใช้เนมสเปซได้
- ปรับปรุง XoopsObject — ความปลอดภัยประเภท
getVar()ใหม่ เลิกใช้แล้วobj2Array() - ผู้ดูแลระบบ Bootstrap 5 — แผงผู้ดูแลระบบสร้างขึ้นใหม่ด้วย Bootstrap 5
รายการตรวจสอบก่อนอัปเกรด
หัวข้อที่มีชื่อว่า “รายการตรวจสอบก่อนอัปเกรด”- PHP 8.2+ มีอยู่บนเซิร์ฟเวอร์ของคุณ
- การสำรองฐานข้อมูลแบบเต็ม (
mysqldump -u user -p xoops_db > backup.sql) - สำรองไฟล์เต็มรูปแบบของการติดตั้งของคุณ
- รายการโมดูลที่ติดตั้งและเวอร์ชัน
- สำรองข้อมูลธีมที่กำหนดเองแยกต่างหาก
ขั้นตอนการอัพเกรด
หัวข้อที่มีชื่อว่า “ขั้นตอนการอัพเกรด”1. ทำให้ไซต์อยู่ในโหมดบำรุงรักษา
หัวข้อที่มีชื่อว่า “1. ทำให้ไซต์อยู่ในโหมดบำรุงรักษา”// mainfile.php — add temporarilydefine('XOOPS_MAINTENANCE', true);2. ดาวน์โหลด XOOPS 2.7
หัวข้อที่มีชื่อว่า “2. ดาวน์โหลด XOOPS 2.7”wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zipunzip xoops-2.7.x.zip3. แทนที่ไฟล์หลัก
หัวข้อที่มีชื่อว่า “3. แทนที่ไฟล์หลัก”อัปโหลดไฟล์ใหม่ ไม่รวม:
uploads/— ไฟล์ที่คุณอัปโหลดxoops_data/— การกำหนดค่าของคุณmodules/— โมดูลที่คุณติดตั้งthemes/— ธีมของคุณmainfile.php— การกำหนดค่าเว็บไซต์ของคุณ
rsync -av --exclude='uploads/' --exclude='xoops_data/' \ --exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \ xoops-2.7/ /var/www/html/4. เรียกใช้สคริปต์อัปเกรด
หัวข้อที่มีชื่อว่า “4. เรียกใช้สคริปต์อัปเกรด”ไปที่ https://yourdomain.com/upgrade/ ในเบราว์เซอร์ของคุณ
วิซาร์ดการอัพเกรดจะใช้การย้ายฐานข้อมูล
5. อัปเดตโมดูล
หัวข้อที่มีชื่อว่า “5. อัปเดตโมดูล”XOOPS 2.7 โมดูลจะต้องเข้ากันได้กับ PHP 8.2 ตรวจสอบ ระบบนิเวศของโมดูล เพื่อดูเวอร์ชันที่อัปเดต
ในผู้ดูแลระบบ → โมดูล คลิก อัปเดต สำหรับแต่ละโมดูลที่ติดตั้ง
6. ลบโหมดการบำรุงรักษาและทดสอบ
หัวข้อที่มีชื่อว่า “6. ลบโหมดการบำรุงรักษาและทดสอบ”ลบบรรทัด XOOPS_MAINTENANCE จาก mainfile.php และ
ตรวจสอบทุกหน้าโหลดอย่างถูกต้อง
ปัญหาทั่วไป
หัวข้อที่มีชื่อว่า “ปัญหาทั่วไป”ข้อผิดพลาด “ไม่พบคลาส” หลังจากอัปเกรด
- รัน
composer dump-autoloadในราก XOOPS - ล้างไดเรกทอรี
xoops_data/caches/
โมดูลใช้งานไม่ได้หลังจากการอัพเดต
- ตรวจสอบ GitHub ของโมดูลสำหรับเวอร์ชันที่รองรับ 2.7
- โมดูลอาจต้องมีการเปลี่ยนแปลงโค้ดสำหรับ PHP 8.2 (ฟังก์ชันที่เลิกใช้แล้ว คุณสมบัติที่พิมพ์)
แผงผู้ดูแลระบบ CSS ใช้งานไม่ได้
- ล้างแคชเบราว์เซอร์ของคุณ
- ตรวจสอบให้แน่ใจว่า
xoops_lib/ถูกแทนที่อย่างสมบูรณ์ในระหว่างการอัปโหลดไฟล์