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

เผยแพร่แล้ว: 2023-03-01

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

[article_callout]

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

[/article_callout]


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

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

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

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

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

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

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


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

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

มีสองวิธีในการอัปเดต WordPress ให้สมบูรณ์:

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

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

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


สรุป

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