White Screen of Death (WSOD) เป็นหนึ่งในข้อผิดพลาดน่ากลัวที่สุดใน WordPress แม่น่ากลัว แต่มากกรณี ไม่ใช่ปัญหาใหญ่ – หากคุณรู้วิธีจัดการ บทความนี้จะบอกเหตุผลที่ WSOD เกิดใน WordPress และวิธีแก้ไขสาเหตุทั่วไป
"White Screen of Death" คืออะไร?
WSOD ตามชื่อ คือ frontend ของเว็บ WordPress แสดงแค่หน้าจอสีขาว เกิดเมื่อมีข้อผิดพลาดภายในเซิร์ฟเวอร์ ทำให้ไม่สามารถ render เนื้อหาแสดงบนหน้าจอได้ สำหรับเว็บพัฒนา จะมีข้อความข้อผิดพลาดบนหน้าจอชี้ว่าผิดที่ไหน แต่เว็บ live มักซ่อนข้อความข้อผิดพลาด ทำให้ได้หน้าจอขาวเปล่า
1. ปลั๊กอินหรือธีมไม่เข้ากันได้
ปลั๊กอินหรือธีมไม่เข้ากันได้ เป็นสาเหตุหลักที่เห็นหน้าจอขาวโชคดี ที่แก้ไขง่ายที่สุดด้วย
หากโชคดี คุณอาจเข้าถึง admin dashboard (https://yourdomain.com/wp-admin เว้นแต่เปลี่ยน URL ล็อกอิน) ล็อกอิน และปิดปลั๊กอิน/ธีมที่ไม่เข้ากันได้
หากได้หน้าจอขาวบนหน้า admin ด้วย ต้องเปลี่ยนผ่าน FTP เชื่อมต่อเว็บด้วย FTP client ไปที่ "wp_content → plugins" หากสงสัยปลั๊กอิน หรือ "wp_content → themes" หากสงสัยธีม อย่าลบปลั๊กอิน/ธีม – เพียงเปลี่ยนชื่อเพื่อปิดใช้งาน
ตรวจสอบว่าซ่อมแซมได้ไหม หากได้ กำจัดปลั๊กอิน/ธีมนั้นทิ้งเลย หากไม่ได้ ลองปลั๊กอิน/ธีมอื่น หากสงสัย หรืออ่านต่อสาเหตุอื่น
2. อัปเดตอัตโนมัติล้มเหลว
ดีที่ WP, ธีม, ปลั๊กอิน อัปเดตตลอดเวลาโดยอัตโนมัติ แต่ผลข้างเคียงที่ไม่พึงประสงค์ของ automation อาจเป็นเว็บ WP ชำรุด เวอร์ชันใหม่ของปลั๊กอินหรือธีมอาจไม่เข้ากับส่วนที่เหลือ และนี่อาจเป็นสาเหตุ
หากเห็น WSOD หลังอัปโหลดอัตโนมัติ โอกาสเดียวคือกู้คืนการตั้งค่าก่อนอัปเดตจาก backup และปิดอัปเดตอัตโนมัติ หากไม่มี backup ก่อนอัปเดต หรือ backup ล่าสุดอื่น นี่คือ disaster อาจต้องปิดปลั๊กอินทีละตัวเพื่อหาว่าตัวไหนเป็นสาเหตุ
3. ปัญหาฐานข้อมูลและการตั้งค่า WP
ปัญหาฐานข้อมูลและการตั้งค่า WP ไม่พบบ่อยเท่าปลั๊กอิน/ธีม แต่ก็อาจเป็นสาเหตุ ปัญหาเหล่านี้ไม่เกิดเอง – มักเพราะคุณหรือคนอื่นแก้ไขฐานข้อมูลหรือไฟล์การตั้งค่า กำจัดการเปลี่ยนแปลงที่ทำ และหวังว่าจะทำงานได้ เหมือนอัปเดตอัตโนมัติ backup ฐานข้อมูล/ไฟล์ตั้งค่าล่าสุดคือผู้ช่วยชีวิต
กรณี نادر ฐานข้อมูลอาจเสียหาย แต่นำไปสู่ปัญหาร้ายกว่า WSOD และคุณจะสังเกตแน่ๆ ว่าฐานข้อมูลไม่โอเค ฐานข้อมูลเสียหายร้ายแรง อาจต้องเรียก WP guru ช่วย
4. ปัญหาโฮสติ้ง
บางครั้งโฮสติ้งนำไปสู่ WSOD มักเกิดบน shared servers หลายเว็บแย่งทรัพยากร ลองเพิ่ม:
define('WP_MEMORY_LIMIT', '64M');
ในไฟล์ "wp-config.php" เพิ่ม memory limit เป็น 64MB สินเชื่อท้ายที่สุด พิจารณาเปลี่ยนแผนที่ก้าวหน้ามากกว่า หรือโฮสติ้งอื่น
5. เว็บอาจถูกแฮก
แฮกเกอร์เป็นอีกสาเหตุ WSOD โชคดี ไม่พบบ่อยเท่าปลั๊กอิน/ธีม ไม่มีวิธีแก้ไขเว็บที่ถูกแฮกแบบ universal เพราะขึ้นอยู่กับความเสียหายที่เกิดขึ้น
WSOD ไม่น่ากลัวอย่างที่มอง แต่มันก็ไม่ดี สิ่งแย่ที่สุดคือหากคุณไม่ได้ตรวจสอบเว็บนาน เพราะในกรณีนี้ คุณไม่รู้ว่าหน้าจอขาวอยู่มานานแค่ไหน บ่อยกว่านั้น สาเหตุหน้าจอขาวคือปลั๊กอิน/ธีม ซึ่งเป็นอีกเหตุผลให้ระมัดระวังมากในสิ่งที่ติดตั้งบนเว็บ