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

เผยแพร่แล้ว: 2019-10-27

WordPress White Screen of Death เป็นหนึ่งในประสบการณ์ที่เกี่ยวข้องกับ WordPress ที่เครียดที่สุดที่คุณน่าจะมีหรือไม่? ไม่ว่าจะเครียดหรือไม่ก็ตาม มันน่าหงุดหงิดอย่างใหญ่หลวงที่พบหน้าจอสีขาวซึ่งก่อนหน้านี้เคยแสดงเว็บไซต์ที่น่ารักของคุณ และไม่ต้องสงสัยเลยว่าคุณอยากจะแก้ไขมัน...และรวดเร็ว!

โชคดีที่การแก้ไขหน้าจอสีขาวแห่งความตายนั้นทำได้ง่ายมาก คุณจะเห็นสิ่งนี้แสดงเป็น HTTP ERROR 500 ใน Chrome หรือเป็นหน้าขาวจริงใน Firefox

หน้าจอสีขาวแห่งความตาย

หากหน้าของคุณมีลักษณะเช่นนี้ มาดูผู้กระทำผิดที่เป็นไปได้กัน!

เป็นผู้ดูแลระบบหรือไม่เป็นผู้ดูแลระบบ?

อย่างแรกเลย… คุณสามารถเข้าสู่ระบบ WordPress Admin ได้หรือไม่? หน้าจอสีขาวส่วนใหญ่เกิดจากข้อผิดพลาดของโค้ด PHP หรือการจำกัดหน่วยความจำ การตรวจสอบนี้ทำได้ง่ายโดยพยายามลงชื่อเข้าใช้ผู้ดูแลระบบ WordPress ของคุณ ในการดำเนินการนี้ คุณต้องเป็นโดเมนเว็บไซต์ของคุณ แล้วเพิ่ม /wp-admin ไปยังที่อยู่ (เช่น example.com/wp-admin)

ผู้ดูแลระบบ WordPress

หากคุณพบหน้าจอเข้าสู่ระบบ WordPress เราสามารถเริ่มแก้ไขปัญหาได้

ปลั๊กอินที่ไม่ดี ทำให้เกิดหน้าจอสีขาวแห่งความตายหรือไม่?

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

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

ปิดการใช้งานปลั๊กอิน

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

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

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

เมื่อระบุตัวเลือกของคุณแล้วคือ:

  1. ทิ้งปลั๊กอินและเปลี่ยนเป็นทางเลือกอื่น
  2. ติดต่อผู้เขียนปลั๊กอินและตรวจสอบว่าพวกเขารู้ว่ามีข้อบกพร่องหรือไม่และจะได้รับการแก้ไขหรือไม่

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

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

ปัญหาธีม หน้าจอสีขาว

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

ในการทดสอบ ให้ไปที่แท็บ Appearances จากนั้นคลิกที่ Themes คุณน่าจะมีธีมเริ่มต้นของ WordPress (หากไม่ได้เลือก 'เพิ่มใหม่' และดาวน์โหลดจากที่นี่) คลิกที่ธีม (2019 ในตัวอย่างนี้) จากนั้นเลือก 'เปิดใช้งาน'

ธีมเวิร์ดเพรส

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

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

การเข้าถึงปลั๊กอินและธีมผ่าน SFTP

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

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

ปิดการใช้งานปลั๊กอิน

นำทางไปยังโฟลเดอร์ปลั๊กอินของคุณ โดยปกติจะอยู่ภายใต้ wp-content > plugins > คลิกขวาที่ปลั๊กอินแรกในรายการของคุณ แล้วเพิ่มคำว่า 'เก่า' ต่อท้ายปลั๊กอินเพื่อให้มีลักษณะดังนี้:

ไฟล์ WordPress

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

ปิดการใช้งานธีมของคุณ

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

ข้อผิดพลาดทางไวยากรณ์

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

รหัส WordPress

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

ในกรณีนี้ คุณมีสองตัวเลือก:

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

การเปลี่ยนกลับเป็นข้อมูลสำรองก่อนหน้าด้วย Pressidium ทำได้ง่ายและรวดเร็ว เพียงลงชื่อเข้าใช้แดชบอร์ดแล้วไปที่การสำรองข้อมูล เลือกวันที่แล้วกดขอคืนค่า

การสำรองข้อมูล Pressidium

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

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

ในการดำเนินการนี้ ให้เปิดโปรแกรม FTP อีกครั้งและค้นหาไฟล์ชื่อ 'wp-config.php' ค้นหาบรรทัดที่มีข้อความ 'define ('WP_DEBUG') แล้วเปลี่ยน 'false' เป็น 'true'

แก้จุดบกพร่องหน้าจอสีขาว

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

ขั้นตอนถัดไป

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

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

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