วิธีแก้ไขหน้าจอสีขาวแห่งความตายของ WordPress

เผยแพร่แล้ว: 2019-08-31

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

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


หน้าจอสีขาวแห่งความตายคืออะไร?

หน้าจอสีขาวแห่งความตาย (WSoD) ปรากฏขึ้นเมื่อมีข้อผิดพลาดเกิดขึ้นใน PHP หรือฐานข้อมูลของเว็บไซต์ WSoD อาจปรากฏเป็นข้อความว่า "หน้านี้ไม่ทำงานและไม่สามารถจัดการคำขอได้" หรือ "ไซต์กำลังประสบปัญหาทางเทคนิค" สิ่งนี้เรียกว่าข้อผิดพลาด HTTP 500


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

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

บทความนี้จะสอนวิธีแก้ไขหน้าจอสีขาวแห่งความตายโดย:

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


การใช้เครื่องมือดีบัก WordPress

WordPress มาพร้อมกับระบบดีบักเฉพาะที่ออกแบบมาเพื่อลดความซับซ้อนของกระบวนการ รวมถึงสร้างมาตรฐานโค้ดทั่วทั้งคอร์ ปลั๊กอิน และธีม คิดว่าการดีบักเป็นแผนงานเพื่อดูว่าข้อผิดพลาดมาจากไหนและสาเหตุที่แท้จริงคืออะไร

หากต้องการเรียนรู้วิธีแก้ไขข้อบกพร่องผ่าน WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, SCRIPT_DEBUG, และ SAVEQUERIES คลิกที่นี่

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

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


วิธีแก้ไขหน้าจอสีขาวแห่งความตายโดยปิดการใช้งานธีม WordPress และปลั๊กอิน

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

หากคุณมีสิทธิ์เข้าถึง wp-admin...

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

หากคุณไม่มีสิทธิ์เข้าถึง wp-admin...

คุณยังสามารถปิดการใช้งานธีมและปลั๊กอินของคุณผ่าน SFTP เชื่อมต่อกับเว็บไซต์ของคุณ และไปที่โฟลเดอร์ wp-content นี่คือที่ที่คุณจะพบไฟล์ธีมและปลั๊กอินทั้งหมดของไซต์ การเปลี่ยนชื่อไฟล์ทำให้คุณสามารถปิดใช้งานธีมหรือปลั๊กอินบนไซต์ของคุณได้ หลังจากที่คุณได้ทำการเปลี่ยนแปลงแล้ว ให้ทำการรีเฟรชอย่างหนักบนไซต์ของคุณ หากโหลดได้ แสดงว่าคุณพบปลั๊กอินที่ถูกต้อง! (และตอนนี้ควรจะสามารถเข้าสู่ระบบ wp-admin ได้อีกครั้ง) หากคุณยังคงเห็นหน้าจอสีขาวแห่งความตาย คุณอาจมีปัญหาอื่นในมือของคุณ

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

นอกเหนือจากข้อขัดแย้ง ปลั๊กอิน WordPress ที่ล้าสมัยในบางครั้งอาจทำให้เกิดข้อผิดพลาด HTTP 500 หากคุณไม่ได้อัปเดต ฉันแนะนำให้รันการอัปเดตเหล่านั้นเพื่อให้แน่ใจว่าปลั๊กอินและธีมของคุณอยู่ในรูปแบบที่ดีที่สุด!


วิธีแก้ไขหน้าจอสีขาวแห่งความตายโดยใช้ข้อมูลสำรองของไซต์ของคุณ

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

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

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


วิธีแก้ไขหน้าจอสีขาวแห่งความตายโดยการเพิ่มหน่วยความจำของเว็บไซต์ของคุณ

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

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

โซลูชันแบบแมนนวลสำหรับสิ่งนี้คือการกำหนดหน่วยความจำ PHP เพิ่มเติมให้กับแอปพลิเคชัน ซึ่งสามารถทำได้ผ่านไฟล์ wp-config.php ในการติดตั้งจำนวนมาก เพียงเพิ่มรหัสต่อไปนี้ลงในไฟล์:

ในการเพิ่มหน่วยความจำ PHP เป็น 64MB:

define( 'WP_MEMORY_LIMIT', '64M' );

ในการเพิ่มหน่วยความจำ PHP เป็น 96MB:

define( 'WP_MEMORY_LIMIT', '96M' );

หมายเหตุ: ด้วยเหตุผลด้านความปลอดภัย Flywheel จะล็อกไฟล์ wp-config.php ของคุณและไม่อนุญาตให้ทำการเปลี่ยนแปลงโดยตรง เราทำสิ่งนี้เพราะซอฟต์แวร์ของเราสร้างขึ้นโดยอัตโนมัติ และเพราะว่าทุกสิ่งส่วนใหญ่ที่คุณต้องการทำที่นั่นจะได้รับการกำหนดค่าให้คุณโดยอัตโนมัติ

WordPress จะตรวจสอบโดยอัตโนมัติว่า PHP ได้รับการจัดสรรหน่วยความจำน้อยกว่าค่าที่ป้อนหรือไม่ก่อนที่จะใช้ฟังก์ชันนี้ ตัวอย่างเช่น หาก PHP ได้รับการจัดสรร 64MB ไม่จำเป็นต้องตั้งค่านี้เป็น 64M เนื่องจาก WordPress จะใช้ 64MB ทั้งหมดโดยอัตโนมัติหากต้องการ


วิธีแก้ไขหน้าจอสีขาวแห่งความตายด้วยการแก้ไขข้อผิดพลาดทางไวยากรณ์

ข้อผิดพลาดทางไวยากรณ์มักเกิดจากข้อผิดพลาดในไวยากรณ์โค้ดของคุณ คุณอาจพิมพ์ผิดหรือวางไวยากรณ์ที่ไม่ถูกต้องโดยไม่ได้ตั้งใจ และนั่นทำให้เกิด WSoD

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

อีกวิธีหนึ่งในการแก้ไขข้อผิดพลาดทางไวยากรณ์คือการแก้ไขไฟล์ที่กล่าวถึงในข้อผิดพลาดทางไวยากรณ์ โดยทั่วไป ข้อผิดพลาดทางไวยากรณ์จะอ้างอิงไฟล์พร้อมกับบรรทัดของรหัสที่พบข้อผิดพลาด

ในการแก้ไขไฟล์ที่ได้รับผลกระทบ คุณสามารถใช้สองวิธีที่แตกต่างกัน:

  1. ดาวน์โหลดไฟล์ที่ได้รับผลกระทบผ่าน FTP หรือ SFTP ขึ้นอยู่กับการตั้งค่าเซิร์ฟเวอร์ของคุณ
  2. ใช้เครื่องมือที่โฮสต์เว็บของคุณนำเสนอเพื่อแก้ไขไฟล์โดยตรงบนเซิร์ฟเวอร์

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

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

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


วิธีแก้ไขหน้าจอสีขาวแห่งความตายโดยระบุปัญหาการอนุญาตไฟล์

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

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

หากต้องการตรวจสอบสิทธิ์ของไฟล์และโฟลเดอร์ที่ไซต์ของคุณมี ให้เชื่อมต่อกับไซต์ของคุณผ่าน FTP เมื่อคุณเชื่อมต่อแล้ว ให้ไปที่โฟลเดอร์รูทของไซต์ WordPress ของคุณ

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

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

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


วิธีแก้ไขหน้าจอสีขาวแห่งความตายโดยทำการอัปเดต WordPress ให้เสร็จสิ้น

บางครั้ง WordPress ประสบปัญหาเกี่ยวกับการอัปเดต ส่วนใหญ่มันจะแก้เอง แต่บางครั้งมันก็นำไปสู่หน้าจอสีขาวแห่งความตาย

มีสองวิธีในการอัปเดต WordPress:

  1. กำลังลบไฟล์ .maintenance
  2. อัปเดตด้วยตนเอง

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

หากคุณยังคงพบปัญหา อาจเป็นไปได้ว่าการอัปเดตไม่สำเร็จ ในกรณีนี้ คุณอาจต้องเรียกใช้การอัปเดตด้วยตนเอง คู่มือนี้สามารถช่วยคุณได้


สรุป

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


ใช้ Local เพื่อแก้ไขออฟไลน์

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

นอกจากความง่ายในการดึงไซต์สดเพื่อแก้ไขแบบออฟไลน์แล้ว คุณยังสามารถเผยแพร่ไซต์ในพื้นที่ได้ด้วยการคลิกเพียงไม่กี่ครั้ง ซิงค์เครื่องมือของคุณสำหรับกระบวนการที่ง่ายขึ้น และอีกมากมาย! ดาวน์โหลด Local ฟรีและหลีกเลี่ยง WSoD เหล่านั้น! ลองด้วยตัวคุณเอง!