Joomla ขึ้นหน้าเปล่า แก้อย่างไร? วิธีตรวจสอบสาเหตุและเปิดดูข้อผิดพลาด

หน้าเว็บ Joomla ที่ขาวเปล่าและไม่มีข้อความแจ้งเตือน มักเกิดจากข้อผิดพลาดที่ระบบไม่ได้แสดงบนหน้าเว็บ เช่น PHP Error จากส่วนเสริมหรือเทมเพลตที่ไม่เข้ากัน แต่บางครั้งอาจเป็นเพียงปัญหาการแสดงผลหรือแคช

ให้ตรวจว่าเกิดกับหน้าใดบ้าง แล้วดู Error Log เพื่อหาข้อความผิดพลาด ก่อนปิดส่วนเสริมหรือแก้ไฟล์เว็บไซต์

❶ ตรวจสอบลักษณะของหน้าเปล่า

① เปิดหน้าแรก หน้าอื่น และหน้า /administrator ในหน้าต่างไม่ระบุตัวตน เพื่อดูว่าปัญหาเกิดทุกหน้าหรือเฉพาะบางหน้า

② ลองเปิดหน้าเดิมจากเบราว์เซอร์หรืออุปกรณ์อื่น หากหน้าเว็บแสดงปกติในที่อื่น อาจเกี่ยวกับแคชหรือส่วนขยายของเบราว์เซอร์

③ สังเกตว่าหน้าเปล่ามีแถบเมนูหรือส่วนหัวของเว็บเหลืออยู่หรือไม่ หากยังเห็นบางส่วน อาจเป็นปัญหาของเนื้อหา โมดูล หรือ CSS มากกว่าระบบหยุดทำงานทั้งหมด

④ หากหน้าแอดมินเข้าได้ ให้บันทึก URL ที่มีปัญหาและสิ่งที่ทำก่อนเริ่มเกิดอาการ เช่น อัปเดต Joomla เปลี่ยน PHP หรือติดตั้งส่วนเสริม

❷ ตรวจ Error Log ของโฮสติ้ง

เข้าแผงควบคุมโฮสติ้ง แล้วมองหาเมนู Errors, Error Log หรือบันทึกข้อผิดพลาดของเว็บไซต์ ชื่อเมนูอาจต่างกันตามผู้ให้บริการ จากนั้นเปิดหน้าที่เป็นปัญหาอีกครั้ง แล้วตรวจรายการที่บันทึกในเวลาเดียวกัน

ค้นหาข้อความเกี่ยวกับ PHP Error, Fatal Error, หน่วยความจำไม่พอ หรือชื่อไฟล์ของส่วนเสริมและเทมเพลต หากพบชื่อไฟล์ ให้จดชื่อและตำแหน่งไว้ เพราะเป็นเบาะแสสำหรับตรวจจุดที่ทำให้หน้าเว็บหยุดแสดงผล

หากไม่พบรายละเอียดในบันทึกของ Joomla ให้ตรวจ Error Log ของเซิร์ฟเวอร์ด้วย เพราะข้อผิดพลาดบางชนิดเกิดก่อนที่ Joomla จะบันทึกข้อมูลได้

❸ เปิด Debug เมื่อยังเข้าแอดมินได้

หากเข้าแอดมินได้ ให้ไปที่ System → Global Configuration แล้วเปิด Debug System ในแท็บ System และตั้ง Error Reporting เป็น Maximum ในแท็บ Server จากนั้นบันทึกและเปิดหน้าที่มีปัญหาอีกครั้ง

หากระบบแสดงรายละเอียดหรือ Stack Trace ให้จดชื่อไฟล์และส่วนเสริมที่เกี่ยวข้องไว้ เมื่อเก็บข้อมูลเสร็จแล้ว ให้ปิด Debug และคืนค่า Error Reporting ตามเดิม เพราะการแสดงรายละเอียดข้อผิดพลาดบนหน้าเว็บอาจเปิดเผยข้อมูลทางเทคนิคแก่ผู้เข้าชม

หากแอดมินก็เป็นหน้าเปล่าด้วย ให้ใช้ Error Log ของโฮสติ้งเป็นหลัก และหลีกเลี่ยงการแก้ไฟล์ configuration.php หากไม่คุ้นเคยกับการแก้ไฟล์ระบบ

❹ ตรวจส่วนเสริมหรือเทมเพลตที่เพิ่งเปลี่ยน

หากหน้าเปล่าเริ่มเกิดหลังติดตั้งหรืออัปเดตส่วนเสริม ให้ตรวจรายการที่เปลี่ยนล่าสุดก่อน

① สำรองไฟล์เว็บไซต์และฐานข้อมูลก่อนแก้ไข

② หากยังเข้าแอดมินได้ ให้ปิดส่วนเสริมหรือปลั๊กอินที่เพิ่งเปลี่ยนทีละรายการ แล้วทดสอบหน้าเว็บหลังปิดแต่ละครั้ง

③ หาก Error Log ระบุชื่อส่วนเสริมหรือเทมเพลต ให้ตรวจเวอร์ชันและความเข้ากันได้กับ Joomla และ PHP ที่ใช้อยู่

④ หากต้องเปลี่ยนเทมเพลตเริ่มต้น ให้ทำผ่านแอดมินเมื่อเข้าได้ และบันทึกค่าเดิมไว้เพื่อย้อนกลับ

อย่าปิดส่วนเสริมทั้งหมดหรือแก้หลายรายการพร้อมกัน เพราะอาจทำให้ระบุสาเหตุไม่ได้ และอาจทำให้ฟังก์ชันอื่นของเว็บไซต์หยุดทำงานตามไปด้วย

❺ ตรวจเวอร์ชัน PHP และการเปลี่ยนแปลงล่าสุด

หากอาการเริ่มหลังเปลี่ยนเวอร์ชัน PHP หรืออัปเดต Joomla ให้ตรวจวันและเวลาที่เกิดเหตุเทียบกับประวัติการเปลี่ยนแปลง จากนั้นตรวจว่าส่วนเสริมและเทมเพลตที่ใช้อยู่รองรับเวอร์ชันปัจจุบันหรือไม่

หากมีสำรองก่อนเปลี่ยนแปลง ให้พิจารณากู้คืนเฉพาะเมื่อทราบผลกระทบและมีข้อมูลสำรองครบ หากไม่แน่ใจ ให้ส่ง Error Log และรายละเอียดการเปลี่ยนแปลงล่าสุดให้ผู้ให้บริการโฮสติ้งหรือผู้ดูแล Joomla ช่วยตรวจ โดย ComSiam แนะนำให้จดเวอร์ชัน PHP และ Joomla ไว้ทุกครั้งก่อนอัปเดตเพื่อช่วยวิเคราะห์ปัญหา

❻ ล้างแคชหลังแก้ต้นเหตุแล้ว

การล้างแคชไม่ช่วยแก้ PHP Error ที่ยังเกิดอยู่ แต่หลังแก้ส่วนเสริมหรือการตั้งค่าที่เป็นต้นเหตุแล้ว ให้ล้างแคช Joomla และแคชของ CDN หรือระบบแคชที่ใช้งาน จากนั้นเปิดหน้าเว็บใหม่อีกครั้ง

หากยังเห็นหน้าเปล่า ให้ทดสอบในหน้าต่างไม่ระบุตัวตน และตรวจ Error Log ซ้ำเพื่อดูว่ามีข้อผิดพลาดใหม่หรือไม่

❼ ถ้ายังแก้ไม่ได้ ให้ส่งข้อมูลอะไรแก่ผู้ดูแล

เตรียมข้อมูลต่อไปนี้เพื่อให้ผู้ดูแลเว็บไซต์หรือโฮสติ้งตรวจได้เร็วขึ้น

  • URL ที่แสดงหน้าเปล่า และเวลาที่พบปัญหา
  • ปัญหาเกิดกับหน้าแรก หน้าเนื้อหา หรือหน้าแอดมิน
  • เวอร์ชัน Joomla และ PHP หากทราบ
  • การเปลี่ยนแปลงล่าสุดก่อนเกิดปัญหา
  • ข้อความใน Error Log หรือ Stack Trace โดยปิดบังรหัสผ่านและข้อมูลลับ

สรุป

เมื่อ Joomla ขึ้นหน้าเปล่า ให้ตรวจว่าปัญหาเกิดทุกหน้าหรือเฉพาะบางหน้า จากนั้นเปิด Error Log เพื่อหาไฟล์หรือส่วนเสริมที่เกี่ยวข้อง หากเข้าแอดมินได้ ให้เปิด Debug ชั่วคราวและปิดกลับหลังตรวจเสร็จ สำรองข้อมูลก่อนเปลี่ยนส่วนเสริมหรือเทมเพลต และแก้ทีละจุดเพื่อหาสาเหตุได้ชัดเจน