You are currently viewing White Screen of Death คืออะไร พร้อมวิธีแก้ไขปัญหาแบบมือโปร

White Screen of Death คืออะไร พร้อมวิธีแก้ไขปัญหาแบบมือโปร

ในโลกของ WordPress ปัญหาที่ผู้ใช้งานมักพบเจออยู่บ่อยครั้งคือหน้าจอขาวโพลน หรือที่เรียกว่า “White Screen of Death” (WSOD) ซึ่งเป็นปัญหาที่ทำให้เว็บไซต์แสดงผลไม่ได้และผู้ใช้งานอาจไม่สามารถเข้าถึงหน้า Dashboard ได้เช่นกัน

ปัญหานี้น่ากลัวแค่ไหน?

สำหรับเจ้าของเว็บไซต์ WSOD ไม่ได้เป็นเพียงความน่าหงุดหงิด แต่ยังส่งผลกระทบต่อธุรกิจ เช่น การสูญเสียผู้เข้าชมเว็บไซต์หรือการขายที่ลดลง และสำหรับนักพัฒนา WSOD เป็นหนึ่งในสัญญาณที่บ่งบอกว่าโค้ดหรือการตั้งค่าบางอย่างผิดพลาด

อะไรคือสาเหตุหลักที่ทำให้เกิดปัญหานี้?

WSOD มักเกิดจากการทำงานที่ขัดแย้งกันของ ปลั๊กอิน, ธีม, หรือ ข้อผิดพลาดในโฮสต์ เช่น การตั้งค่า PHP หรือ Memory Limit ที่ไม่เพียงพอ นอกจากนี้ยังอาจเกิดจากการอัปเดตที่ล้มเหลวหรือโค้ดที่ไม่สอดคล้องกัน

ทำไมการเรียนรู้เกี่ยวกับ WSOD (White Screen of Death) ถึงสำคัญ?

การเข้าใจวิธีการระบุสาเหตุและแก้ไขปัญหานี้เป็นสิ่งจำเป็นสำหรับ

  1. ผู้ใช้งานทั่วไป: เพื่อรักษาการทำงานของเว็บไซต์อย่างต่อเนื่อง
  2. นักพัฒนา: เพื่อป้องกันปัญหาในอนาคตและพัฒนาเว็บไซต์ที่มีเสถียรภาพมากขึ้น

ในบทความนี้ เราจะเจาะลึกถึง:

  • สาเหตุสำคัญของ WSOD
  • วิธีการแก้ไขทีละขั้นตอนที่เข้าใจง่าย
  • เคล็ดลับในการป้องกันไม่ให้เกิด WSOD ในอนาคต

วิธีการแก้ไข WSOD

เมื่อเว็บไซต์ของคุณเจอปัญหาหน้าจอขาวโพลน (WSOD) สิ่งแรกที่ต้องทำคือลองหาสาเหตุและแก้ไขอย่างมีระเบียบ วิธีการแก้ไขนี้จะช่วยให้คุณสามารถวิเคราะห์ปัญหาได้อย่างง่าย ๆ และกลับมาทำงานได้เร็วขึ้นครับ

1. ปิดปลั๊กอินทั้งหมด (Deactivate All Plugins)

บางครั้งปัญหาของ WSOD อาจเกิดจากปลั๊กอินที่ไม่เข้ากัน หรืออาจจะมีปลั๊กอินบางตัวที่ทำงานผิดพลาด วิธีการแรกที่ควรลองคือ ปิดปลั๊กอินทั้งหมด แล้วดูว่าเว็บไซต์กลับมาใช้งานได้หรือไม่

  • ทำยังไง?
    • เข้าไปที่โฟลเดอร์ wp-content ผ่านโปรแกรม FTP หรือ File Manager
    • เปลี่ยนชื่อโฟลเดอร์ plugins เป็นชื่ออื่น เช่น plugins_disabled
    • หลังจากนั้นลองโหลดหน้าเว็บไซต์ใหม่ ถ้าเว็บไซต์กลับมาทำงานได้ แสดงว่าอาจมีปลั๊กอินตัวใดตัวหนึ่งที่ทำให้เกิดปัญหา
    • ค่อย ๆ เปิดใช้งานปลั๊กอินทีละตัวจนเจอปลั๊กอินที่ทำให้เกิดปัญหาครับ

2. เปลี่ยนธีมเป็นธีมพื้นฐาน (Switch to Default Theme)

ถ้าปลั๊กอินไม่ใช่สาเหตุ ลองเปลี่ยนธีมที่คุณใช้ไปเป็นธีมพื้นฐาน เช่น Twenty Twenty-One ของ WordPress ก่อน เพราะบางครั้งธีมที่คุณใช้ก็อาจเป็นสาเหตุของปัญหานี้

  • ทำยังไง?
    • เข้าไปที่โฟลเดอร์ wp-content/themes ผ่าน FTP หรือ File Manager
    • เปลี่ยนชื่อโฟลเดอร์ของธีมที่ใช้อยู่ (เช่น my-theme) เป็นชื่ออื่น เช่น my-theme_disabled
    • เมื่อเปลี่ยนแล้ว WordPress จะใช้ธีมพื้นฐานแทน และคุณจะเห็นว่าเว็บไซต์กลับมาทำงานหรือไม่

3. เพิ่ม Memory Limit (Increase Memory Limit)

บางครั้ง WSOD อาจเกิดจากเว็บไซต์ใช้หน่วยความจำ (Memory) มากเกินไป โดยเฉพาะถ้าคุณมีปลั๊กอินที่ทำงานหนักหรือเว็บไซต์มีเนื้อหาจำนวนมาก วิธีแก้ไขคือการเพิ่ม Memory Limit ในการตั้งค่า PHP

credit: totalwptheme.com
  • ทำยังไง?
    • เปิดไฟล์ wp-config.php ที่อยู่ในโฟลเดอร์หลักของเว็บไซต์
    • เพิ่มโค้ดนี้ลงไปในไฟล์: define(‘WP_MEMORY_LIMIT’, ‘256M’);
    • ทำการอัปเดตไฟล์แล้วลองโหลดหน้าเว็บไซต์ใหม่อีกครั้ง

4. เปิด Debugging Mode เพื่อหาข้อผิดพลาด (Enable Debugging Mode)

ถ้าคุณไม่แน่ใจว่าเกิดปัญหาจากอะไร การเปิดโหมด WP_DEBUG จะช่วยให้คุณเห็นข้อความแสดงข้อผิดพลาด (error message) ที่เกิดขึ้นในเว็บไซต์ ทำให้คุณสามารถระบุปัญหาได้ชัดเจนขึ้น

  • ทำยังไง?
    • เปิดไฟล์ wp-config.php ในโฟลเดอร์หลักของเว็บไซต์
    • เพิ่มโค้ดนี้ลงไปในไฟล์: define(‘WP_DEBUG’, true), define(‘WP_DEBUG_LOG’, true);
    • หลังจากนั้นข้อผิดพลาดทั้งหมดจะถูกบันทึกไว้ในไฟล์ wp-content/debug.log ให้คุณเปิดอ่านเพื่อหาสาเหตุ

5. ตรวจสอบการตั้งค่า PHP และอัปเกรด (Check PHP Settings and Upgrade)

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

  • ทำยังไง?
    • เข้าสู่ cPanel หรือระบบการจัดการโฮสติ้งของคุณ
    • ตรวจสอบ PHP Version และอัปเกรดให้เป็นเวอร์ชันที่รองรับ (แนะนำ PHP 7.4 หรือ 8.0)
    • หากคุณไม่แน่ใจว่าจะอัปเกรดอย่างไร ให้ติดต่อผู้ให้บริการโฮสติ้งเพื่อขอความช่วยเหลือ

6. ลบแคชของเบราว์เซอร์ (Clear Browser’s Cache)

บางครั้งการที่คุณเห็นหน้าจอขาว (WSOD) อาจไม่ได้เกิดจากปัญหาที่เว็บไซต์ แต่เกิดจากแคชของเบราว์เซอร์ที่เก็บข้อมูลเก่าไว้ ซึ่งอาจทำให้เบราว์เซอร์โหลดหน้าเว็บไซต์เก่าแทนที่จะโหลดข้อมูลใหม่

  • ทำยังไง?
    • ถ้าคุณใช้ Google Chrome:
      1. คลิกที่เมนูสามจุดมุมขวาบน > More Tools > Clear browsing data
      2. เลือกช่วงเวลาเป็น All time และเลือก Cached images and files
      3. กด Clear data
    • หากคุณใช้เบราว์เซอร์อื่น ๆ เช่น Firefox หรือ Safari ก็จะมีขั้นตอนที่คล้ายกันในการลบแคช
    • เมื่อคุณลบแคชแล้วลองรีเฟรชหน้าเว็บไซต์อีกครั้งเพื่อดูผลลัพธ์

7. ตรวจสอบปัญหาการอัปเดตอัตโนมัติที่ล้มเหลว (Check for Failed Auto-Update Issues)

บางครั้ง WordPress หรือปลั๊กอินอาจไม่อัปเดตตัวเองอย่างถูกต้อง ซึ่งสามารถทำให้เกิดปัญหากับการแสดงผลของเว็บไซต์ หรืออาจทำให้เกิดการหยุดทำงานอย่างไม่คาดคิด

  • ทำยังไง?
    • ตรวจสอบว่า WordPress และปลั๊กอินต่าง ๆ ได้รับการอัปเดตล่าสุดหรือไม่
    • หากการอัปเดตไม่ได้เกิดขึ้นตามปกติ คุณสามารถลองอัปเดตด้วยตัวเองผ่านหน้าจัดการของ WordPress โดยไปที่ Dashboard > Updates
    • หากคุณพบว่าการอัปเดตไม่สำเร็จ ให้ลองอัปเดต WordPress หรือปลั๊กอินที่มีปัญหาผ่าน FTP โดยการดาวน์โหลดเวอร์ชันล่าสุดจากเว็บไซต์ของผู้พัฒนาและอัปโหลดไฟล์ใหม่ไปยังโฟลเดอร์ที่เหมาะสม
    • นอกจากนี้ หากการอัปเดตอัตโนมัติไม่ทำงาน อาจจะต้องตรวจสอบการตั้งค่าเซิร์ฟเวอร์หรือปรึกษาผู้ให้บริการโฮสติ้งเพื่อให้แน่ใจว่าเซิร์ฟเวอร์รองรับการอัปเดตอัตโนมัติ

8. ตรวจสอบไฟล์ .htaccess (Check the .htaccess File)

ไฟล์ .htaccess เป็นไฟล์ที่ควบคุมการตั้งค่าหลาย ๆ อย่างในเว็บไซต์ WordPress รวมถึงการตั้งค่าการเปลี่ยนเส้นทาง (redirects) และการป้องกันการเข้าถึงไฟล์บางประเภท หากไฟล์ .htaccess เสียหายหรือมีข้อผิดพลาดอาจทำให้เกิด WSOD

  • ทำยังไง?
    • เข้าถึงโฟลเดอร์หลักของเว็บไซต์ผ่าน FTP หรือ File Manager
    • ค้นหาไฟล์ .htaccess และทำการสำรองไฟล์นั้นก่อน
    • ลบหรือเปลี่ยนชื่อไฟล์ .htaccess
    • จากนั้นลองรีเฟรชเว็บไซต์ ถ้าเว็บไซต์กลับมาใช้งานได้ แสดงว่าไฟล์ .htaccess เป็นสาเหตุของปัญหา
    • คุณสามารถสร้างไฟล์ .htaccess ใหม่โดยไปที่ Dashboard > Settings > Permalinks แล้วคลิก Save Changes เพื่อให้ WordPress สร้างไฟล์ .htaccess ใหม่โดยอัตโนมัติ
ทดสอบ .htacess ที่สร้างใหม่ได้ที่ ที่นี่


9. ตรวจสอบการตั้งค่าของ PHP (Check PHP Settings)

การตั้งค่าผิดพลาดของ PHP เช่น max_execution_time หรือ max_input_vars อาจทำให้เกิด WSOD โดยเฉพาะเมื่อมีการร้องขอที่มีขนาดใหญ่หรือซับซ้อนเกินไปจากเว็บไซต์

  • ทำยังไง?
    • ติดต่อผู้ให้บริการโฮสติ้งของคุณเพื่อขอให้เพิ่มค่าพารามิเตอร์ PHP ที่สำคัญ เช่น:
      • max_execution_time: ให้ตั้งค่าให้สูงขึ้น (เช่น 300 วินาที)
      • memory_limit: เพิ่มค่าหน่วยความจำ (เช่น 256MB หรือมากกว่า)
      • max_input_vars: เพิ่มค่าการรับข้อมูลที่มากขึ้น
    • หากคุณสามารถเข้าไปที่ php.ini หรือ .htaccess ได้ด้วยตัวเอง คุณสามารถปรับค่าพวกนี้ได้ในไฟล์เหล่านั้น

10. ตรวจสอบปัญหาจากเซิร์ฟเวอร์ (Check for Server Issues)

ปัญหาจากเซิร์ฟเวอร์ เช่น เซิร์ฟเวอร์ล่มหรือทรัพยากรไม่เพียงพอ อาจทำให้เว็บไซต์ของคุณแสดงผลเป็น WSOD หากเว็บไซต์ของคุณมีการเข้าชมสูงหรือโหลดหนัก เซิร์ฟเวอร์อาจไม่สามารถรองรับได้

  • ทำยังไง?
    • ตรวจสอบสถานะของเซิร์ฟเวอร์จากผู้ให้บริการโฮสติ้ง ว่าเซิร์ฟเวอร์ของคุณมีปัญหาหรือไม่ เช่น อาจเกิดการ Overloaded หรือ Out of Resources
    • หากเว็บไซต์ของคุณมีทราฟฟิกสูง อาจจำเป็นต้องอัปเกรดแผนโฮสติ้ง หรือพิจารณาใช้บริการ VPS หรือ Dedicated Server ที่ให้ทรัพยากรมากขึ้น
    • ติดต่อผู้ให้บริการโฮสติ้งเพื่อสอบถามว่าเซิร์ฟเวอร์ของคุณมีการตั้งค่าหรือข้อผิดพลาดที่ทำให้เกิด WSOD
      หรือไม่

การป้องกันปัญหาจาก WSOD ในอนาคต

การป้องกันปัญหานี้ในอนาคตสามารถทำได้โดยการ อัปเดต WordPress, ธีม, และปลั๊กอิน อย่างสม่ำเสมอ, สำรองข้อมูล ก่อนการอัปเดตทุกครั้ง, ใช้ PHP เวอร์ชันล่าสุด ที่รองรับ WordPress, และหลีกเลี่ยงการติดตั้งปลั๊กอินหรือธีมที่ไม่เป็นที่รู้จักหรือไม่ได้รับการอัปเดตบ่อย ๆ นอกจากนี้ยังควรใช้ปลั๊กอินที่สามารถช่วยตรวจสอบการทำงานของเว็บไซต์เพื่อแจ้งเตือนเมื่อเกิดปัญหาที่อาจส่งผลกระทบต่อการทำงานของเว็บไซต์

สรุป

WSOD เป็นปัญหาที่สามารถเกิดขึ้นได้จากหลายสาเหตุ แต่การรู้วิธีการตรวจสอบและแก้ไขอย่างมีขั้นตอน จะช่วยให้คุณสามารถฟื้นฟูเว็บไซต์ได้อย่างรวดเร็วและมีประสิทธิภาพ การดูแลเว็บไซต์ด้วยการอัปเดตสม่ำเสมอและการตั้งค่าระบบที่ เหมาะสม จะช่วยลดโอกาสที่ปัญหานี้จะเกิดขึ้นในอนาคตและทำให้คุณมั่นใจว่าเว็บไซต์ WordPress ของคุณจะทำงานได้อย่างราบรื่นตลอดเวลา

Leave a Reply