หน้าจอสีขาวแห่งความตายของ WordPress: คู่มือการกู้คืน

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

WordPress เช่น MacOS และแม้แต่ Windows ในตอนนี้มี "White Screen of Death" หรือ "WSOD" ที่น่าอับอาย WSOD จะปรากฏขึ้นเมื่อมีสิ่งผิดปกติเกิดขึ้น คุณกำลังเผชิญกับหน้าจอว่างเปล่าหรือว่างเปล่าเป็นส่วนใหญ่โดยไม่ทราบสาเหตุ ตอนนี้คืออะไร?

WordPress White Screen of Death (WSOD) คืออะไร?

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

หน้าจอสีขาวแห่งความตายอาจเป็นผลมาจากบางสิ่ง คุณทำกับไซต์ WordPress ของคุณ

ทำไม เกิดอะไรขึ้น?

ตั้งแต่ WordPress 5.2 เปิดตัวในเดือนพฤษภาคม 2019 WordPress มีโหมดการกู้คืนเพื่อปกป้องคุณจาก WSOD หากไม่มีโหมดการกู้คืน ปัญหาความเข้ากันได้จะสร้าง WSOD จำนวนมากและทำให้ผู้ใช้ WordPress ผิดหวัง หากเซิร์ฟเวอร์ของคุณใช้ PHP หรือ MySQL เวอร์ชันที่ไม่รองรับปลั๊กอิน ธีม หรือส่วนขยายที่คุณกำลังติดตั้ง แทนที่จะทำให้ไซต์ของคุณเสียหาย คุณจะได้รับโหมดการกู้คืน ทุกวันนี้ ข้อผิดพลาด PHP Out-of-Memory (OOM) น่าจะเป็นสถานการณ์ที่เหลือที่พบได้บ่อยที่สุดที่จะข้ามการป้องกัน WSOD ทำให้คุณมีหน้าจอว่างเปล่า

ฉันได้ตรวจสอบกับ Marius Jensen ผู้สนับสนุนหลักของ WordPress เพื่อค้นหาว่ามีอะไรอีกบ้างที่อาจทำให้เกิด WSOD ที่แท้จริงในปัจจุบัน Marius เป็นผู้เขียน Plugin ของ Site Health (ปัจจุบันคือ Health Check and Troubleshooting) ซึ่งแนวคิดและฟีเจอร์ต่างๆ ได้เข้าสู่ WordPress core ในที่สุด (นั่นคือวิธีที่เราได้รับโหมดการกู้คืนและการป้องกันอื่นๆ) Marius ยืนยันว่าวิธีเดียวที่จะทำให้ WordPress ล่มด้วยหน้าจอว่างเปล่าคือการขัดจังหวะการดำเนินการของ PHP เพื่อให้ตัวจัดการข้อผิดพลาดร้ายแรงไม่สามารถทำงานได้อย่างที่ควรจะเป็น การตัดการเชื่อมต่อระหว่าง PHP และเซิร์ฟเวอร์ HTTP ของคุณจะบรรลุผลสำเร็จ คุณจะไม่ได้รับข้อเสนอแนะในการแก้ไขปัญหาบนหน้าจอ นั่นอาจเป็นเรื่องที่น่าหงุดหงิด แต่ถ้าคุณแค่ทำงานใน WordPress ติดตั้งและกำหนดค่าปลั๊กอิน สิ่งนี้ไม่น่าจะเกิดขึ้น

หน้าจอสีขาวแห่งความตายหมายถึง WordPress ถูกแฮ็กหรือไม่?

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

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

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

WordPress White Screen of Death
ในคู่มือนี้

    ดูตัวอย่าง

    หน้าจอสีขาวแห่งความตายของ WordPress: ฉันทำอย่างนั้นเหรอ?

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

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

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

    โดยทั่วไปแล้วตัวการคืออะไรก็ตามที่เพิ่งถูกเปลี่ยนแปลงด้วยปลั๊กอิน ธีม หรือโค้ดที่กำหนดเอง

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

    เมื่อ WordPress ตายเป็นส่วนใหญ่เท่านั้น

    WSOD ทั้งหมดไม่เท่ากัน และบางอันก็ไม่ใช่ WSOD จริงด้วยซ้ำ

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

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

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

    โหมดการกู้คืน WordPress และหน้าจอสีขาวแห่งความตาย

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

    ด้วยโหมดการกู้คืนของ WordPress เป็นเรื่องยากที่จะเห็นหน้าจอสีขาวว่างเปล่าเมื่อมีสิ่งผิดปกติเกิดขึ้น คุณจะเห็นหน้าต่างสีขาวบนหน้าจอสีเทาบ่อยขึ้นพร้อมข้อความต่อไปนี้ใน WordPress 6.1:

    “มีข้อผิดพลาดร้ายแรงในเว็บไซต์ของคุณ” (ภาพหน้าจอโหมดการกู้คืนส่วนหน้า)
    “มีข้อผิดพลาดร้ายแรงในเว็บไซต์ของคุณ” (โหมดการกู้คืนส่วนหน้า)

    WordPress เวอร์ชันเก่าจะแสดงข้อความในลักษณะเดียวกัน เช่น “ไซต์กำลังประสบปัญหาทางเทคนิค”

    หากคุณเรียกดู URL แบ็กเอนด์ /wp-admin จะมีการแจ้งให้คุณตรวจสอบบัญชีอีเมลผู้ดูแลระบบของคุณสำหรับข้อมูลเพิ่มเติม:

    “มีข้อผิดพลาดร้ายแรงในเว็บไซต์นี้ เรียนรู้เพิ่มเติมเกี่ยวกับการแก้ไขปัญหา WordPress” (ภาพหน้าจอโหมด Back End Recovery)
    “มีข้อผิดพลาดร้ายแรงในเว็บไซต์นี้ เรียนรู้เพิ่มเติมเกี่ยวกับการแก้ไขปัญหา WordPress” (โหมดการกู้คืนส่วนหลัง)

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

    ยินดีต้อนรับสู่การกู้คืน

    นี่คือโหมดการกู้คืน WordPress พยายามช่วยให้คุณกลับมายืนหยัดได้อีกครั้ง

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

    หากเป็นไปได้ WordPress จะ "หยุดชั่วคราว" ปลั๊กอินหรือโค้ดอื่นๆ ที่ทำงานผิดปกติ WordPress จะป้องกันไม่ให้โค้ดที่ไม่ดีทำงาน จากนั้นจะแจ้งรายละเอียดให้ผู้ดูแลระบบทราบทางอีเมล

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

    เคล็ดลับระดับมืออาชีพ: หากคุณไม่ได้รับอีเมลโหมดการกู้คืน คุณอาจสามารถเข้าสู่ระบบ WordPress ในโหมดการกู้คืนได้อยู่ดีโดยเพิ่มที่อยู่ต่อไปนี้ใน URL ของไซต์หลักเมื่อคุณเข้าสู่ระบบในฐานะผู้ดูแลระบบ: /wp-login.php?action=entered_recovery_mode

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

    หน้าจอแห่งความตายสีขาวทุกอันไม่เหมือนกันใน WordPress

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

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

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

    1. คุณติดอยู่ในโหมดการบำรุงรักษา

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

    “ไม่สามารถใช้งานได้ชั่วครู่สำหรับการบำรุงรักษาตามกำหนดเวลา โปรดกลับมาใหม่ในอีกสักครู่” (ภาพหน้าจอโหมดการบำรุงรักษา WordPress)
    “ไม่สามารถใช้งานได้ชั่วครู่สำหรับการบำรุงรักษาตามกำหนดเวลา โปรดกลับมาใหม่ในอีกสักครู่” (โหมดการบำรุงรักษา WordPress)

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

    เมื่อไม่มีไฟล์ .maintenance ไซต์ของคุณจะโหลดตามที่คาดไว้

    2. คุณอัปโหลดไฟล์หรือขนาดโพสต์ถึงขีดจำกัดแล้ว

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

    วิธีแก้ไข: เพิ่มขีดจำกัดเนื้อหาโพสต์ของคุณใน wp-config.php :

     ini_set('pcre.recursion_limit',20000000);
    ini_set('pcre.backtrack_limit',10000000);

    วิธีแก้ไข: เพิ่มการอัปโหลดไฟล์และการจำกัดขนาดโพสต์ใน php.ini :

     upload_max_filesize = 256M
    post_max_size = 256M

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

     max_execution_time = 300
    max_input_time = 300
    max_input_vars = 1,000
    session.gc_maxlifetime = 1,000

    หรือใน . .htaccess , httpd.conf หรือ virtualhost :

     php_value upload_max_filesize 256M
    php_value post_max_size 256M
    php_value max_execution_time 300
    php_value max_input_time 300
    php_value max_input_vars 1,000
    php_value session.gc_maxlifetime 1,000

    หรือในข้อมูลโค้ดที่กำหนดเองสำหรับ WordPress หรือไฟล์ functions.php ธีม:

     @ini_set( 'upload_max_filesize', '256M' );
    @ini_set( 'post_max_size', '256M' );
    @ini_set( 'max_execution_time', '300' );
    @ini_set('max_input_time', '300' );
    @ini_set('max_input_vars', '1000' );
    @ini_set('session.gc_maxlifetime', '1000' );

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

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

    3. PHP หน่วยความจำไม่เพียงพอ

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

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

    wp-config.php

    โดยปกติ การเพิ่มการตั้งค่าต่อไปนี้ใน wp-config.php ของคุณในโฟลเดอร์ WordPress จะตั้งค่าขีดจำกัดหน่วยความจำส่วนหน้าสำหรับ WordPress เป็น 256 MB ในตัวอย่างนี้:

     กำหนด ('WP_MEMORY_LIMIT', '256M');

    128 ถึง 256 MB ควรมากเกินพอ คุณยังสามารถกำหนดหน่วยความจำสูงสุดหรือหน่วยความจำส่วนหลังที่จัดสรรให้กับ PHP (256 MB ในตัวอย่างถัดไปด้วย) โดยเพิ่มบรรทัดต่อไปนี้ใน wp-config.php เช่นกัน:

     กำหนด ('WP_MAX_MEMORY_LIMIT', '256M');

    ตัวเลขที่สองคือขีดจำกัดหน่วยความจำสูงสุดที่กำหนดหน่วยความจำทั้งหมดที่ PHP มีอยู่สำหรับตัวมันเอง หมายเลขแรกคือหน่วยความจำสำหรับ WordPress ที่ทำงานภายในขีดจำกัด PHP ที่ใหญ่กว่านั้น ขีดจำกัดหน่วยความจำ PHP สูงสุดควรเท่ากับหรือสูงกว่าขีดจำกัดหน่วยความจำของแอปพลิเคชัน WordPress

    php.ini

    อีกวิธีในการกำหนดขีดจำกัดหน่วยความจำสูงสุดของ PHP คือการตั้งค่าใน php.ini ซึ่งอยู่ในโฟลเดอร์ WordPress ของคุณ:

     memory_limit = 256M

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

    .htaccess

    วิธีที่สามในการกำหนดขีดจำกัดของหน่วยความจำ PHP คือการใช้ไฟล์ . .htaccess ในโฟลเดอร์ WordPress หากคุณใช้ Apache หรือ Litespeed เป็นเซิร์ฟเวอร์ HTTP เช่นเดียวกับตัวอย่างข้างต้น .htaccess จำเป็นต้องมีบรรทัดที่ไม่มีความคิดเห็นเช่นนี้เพื่อกำหนดขีดจำกัด PHP สูงสุดที่ 256 MB:

     php_value memory_limit 256M

    ข้อผิดพลาดในไวยากรณ์ของการตั้งค่าแอปพลิเคชันและเซิร์ฟเวอร์ใน wp-config.php , php.ini และ . .htaccess อาจทำให้เกิด WSOD ได้เช่นกัน คุณอาจต้องแก้ไขหรือแทนที่ด้วยค่าเริ่มต้นเดิมด้วยตนเองหากทำให้ไซต์ของคุณเสียหาย หากคุณใช้เว็บเซิร์ฟเวอร์ Apache หรือ Litespeed ไฟล์ . .htaccess ที่ควบคุมวิธีการทำงานสามารถเปลี่ยนแปลงได้โดยปลั๊กอิน WordPress จำนวนมาก ข้อผิดพลาดที่เกิดขึ้นในไฟล์ใดๆ เหล่านี้สามารถเรียก WSOD และทำให้ไซต์ของคุณล่มได้

    4. เซิร์ฟเวอร์ HTTP ของคุณขัดข้อง

    HTTP (หรือรูปแบบ HTTPS ที่เข้ารหัสและปลอดภัย) เป็นโปรโตคอลการถ่ายโอนไฮเปอร์เท็กซ์ที่ทำให้เว็บเซิร์ฟเวอร์เป็นเว็บเซิร์ฟเวอร์ เป็นวิธีที่เซิร์ฟเวอร์ให้บริการหน้าเว็บ (เอกสาร HTTP) แก่ลูกค้า (เช่น เบราว์เซอร์) เมื่อมีการร้องขอ

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

    ข้อผิดพลาด HTTP 500 หรือที่เรียกว่าข้อผิดพลาดเซิร์ฟเวอร์ภายใน บ่งชี้ว่ามีปัญหาที่ไม่คาดคิดกับเซิร์ฟเวอร์ HTTP ของคุณที่ป้องกันไม่ให้ดำเนินการตามคำขอ HTTP รหัสข้อผิดพลาดเซิร์ฟเวอร์ 5xx อื่นๆ โดยเฉพาะ 502 (เกตเวย์ไม่ถูกต้อง), 503 (บริการไม่พร้อมใช้งาน) และ 504 (เกตเวย์หมดเวลา) ระบุว่าเซิร์ฟเวอร์ของคุณโอเวอร์โหลดหรือไม่สามารถเข้าถึงได้ ข้อผิดพลาดภายใน 500 เป็นข้อผิดพลาดทั้งหมดสำหรับรายละเอียดบนเซิร์ฟเวอร์ที่หยุดไม่ให้ส่งคืนหน้า/เอกสารที่ร้องขอ

    เบราว์เซอร์ของคุณอาจแสดงหน้าจอข้อผิดพลาด HTTP เฉพาะของตัวเอง และอาจแสดงรหัสข้อผิดพลาดพิเศษของตัวเอง Google Chrome (และเบราว์เซอร์ที่ใช้ Chromium อื่นๆ) จะแสดงรายการและอธิบายรหัสข้อผิดพลาดทั้งหมดเป็นการภายใน หากคุณเรียกดู chrome://network-errors/ ในแถบที่อยู่ของคุณในขณะที่ใช้ Chrome

    ปัญหาฝั่งเซิร์ฟเวอร์

    ซอฟต์แวร์เซิร์ฟเวอร์ HTTP ที่ใช้กันทั่วไปสำหรับเว็บไซต์ WordPress ได้แก่ Apache, Litespeed และ NGINX โฮสต์ WordPress จำนวนมากใช้กับแคชเพื่อเพิ่มประสิทธิภาพสูงสุด

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

    สาเหตุทั่วไปของข้อผิดพลาด HTTP 500 อาจรวมถึงเงื่อนไขฝั่งเซิร์ฟเวอร์ต่อไปนี้:

    1. เกินขีดจำกัดหน่วยความจำ PHP แล้ว
    2. ข้อผิดพลาดอื่นๆ ของ PHP เมื่อ PHP ไม่ได้ตั้งค่าให้แสดงข้อผิดพลาด
    3. สิทธิ์ไม่เพียงพอในการเข้าถึงไฟล์และโฟลเดอร์ของเซิร์ฟเวอร์
    4. ข้อผิดพลาดทางไวยากรณ์ในไฟล์การกำหนดค่า .htaccess

    เราได้กล่าวถึงขีดจำกัดของหน่วยความจำ PHP และวิธีเพิ่มแล้ว เราจะเจาะลึกการดีบัก PHP ในหัวข้อถัดไปด้านล่าง

    สิทธิ์ที่ไม่ถูกต้องไม่ควรเกิดขึ้นในโฮสติ้ง WordPress ที่ทันสมัย ​​แต่เป็นเรื่องปกติในโฮสติ้งที่ใช้ร่วมกันแบบดั้งเดิม ไฟล์ควรตั้งค่าเป็น 664 หรือ 644 ควรตั้งค่าโฟลเดอร์เป็น 775 หรือ 755 และ wp-config.php ควรตั้งค่าเป็น 660, 600 หรือ 644 เรียนรู้เพิ่มเติมเกี่ยวกับการเปลี่ยนสิทธิ์ของไฟล์ที่ WordPress.org

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

    ปัญหาฝั่งไคลเอ็นต์

    ข้อผิดพลาด HTTP 500 สามารถเกิดขึ้นได้ในฝั่งไคลเอนต์ (ในเบราว์เซอร์ของคุณ) ตามเงื่อนไขอื่นๆ:

    1. การตั้งค่าเบราว์เซอร์ไม่ถูกต้อง
    2. แคชเสียหาย
    3. ไฟล์ JavaScript ที่เสียหายซึ่งทำงานในเบราว์เซอร์ของคุณ
    4. ปัญหาการเชื่อมต่ออินเทอร์เน็ต

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

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

    อาจเป็นไปได้ว่าข้อผิดพลาด HTTP 500 อาจเกิดจากปัญหาเกี่ยวกับฐานข้อมูล ปัญหาเกี่ยวกับปลั๊กอินหรือธีมในไซต์ WordPress หรือปัญหาเกี่ยวกับ WordPress เอง

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

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

    เมื่อ WordPress ตายอย่างแท้จริง

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

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

    ในการแก้ไข WordPress White Screen of Death การทำตามขั้นตอนต่อไปนี้จะนำคุณไปสู่แนวทางแก้ไข พวกมันถูกจัดเรียงตามลำดับสาเหตุ WSOD ที่พบบ่อยที่สุดตามที่ฉันเคยพบมา แต่คุณสามารถลองตามลำดับใดก็ได้

    เหมาะสมที่สุดที่จะจัดลำดับความสำคัญของโซลูชันที่ดูเหมือนจะเกี่ยวข้องกับสถานการณ์เฉพาะของคุณมากที่สุด

    ขั้นตอนการบันทึกข้อผิดพลาดและการแก้ไขจุดบกพร่อง (#2) เป็นขั้นตอนทางเทคนิคที่ละเอียดที่สุด และจะบอกให้คุณทราบเสมอว่าอะไรเป็นสาเหตุให้ WordPress หยุดทำงาน

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

    ทางเลือกสุดท้าย การสำรองข้อมูลล่าสุดที่ดีจะทำให้ไซต์ของคุณกลับมาออนไลน์อีกครั้งในสถานะที่ดีล่าสุด Backup Buddy เป็นปลั๊กอินที่ดีที่สุดสำหรับบทบาทนี้

    ล้างแคชและคุกกี้ของเบราว์เซอร์ของคุณ

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

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

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

    2. มองหาข้อผิดพลาด PHP

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

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

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

     กำหนด ('WP_DEBUG' จริง);

    คุณอาจต้องเพิ่มหรือเปลี่ยนค่าจากเท็จเป็นจริง สิ่งนี้บอกให้ WordPress เปิดการดีบัก PHP

    คุณยังสามารถใช้ทางลัดได้โดยการติดตั้งและเปิดใช้งานปลั๊กอินการดีบัก WP มันจะเปิดใช้งานการดีบัก PHP สำหรับ WordPress โดยที่คุณไม่ต้องแก้ไข wp-config.php เองโดยตรง

    พารามิเตอร์ wp-config.php เพิ่มเติมที่แสดงด้านล่างจะพิมพ์ผลลัพธ์การดีบักไปยังหน้าจอเป็น HTML และไฟล์ชื่อ “error_log” ตามค่าเริ่มต้น:

     กำหนด ( 'WP_DEBUG_DISPLAY' จริง );
    กำหนด ( 'WP_DEBUG_LOG' จริง );

    นอกจากนี้ยังอาจเป็นประโยชน์ในการบังคับให้ WordPress ใช้ CSS และ JavaScript ที่ขึ้นต่อกันในเวอร์ชันที่ไม่ได้รับการเพิ่มประสิทธิภาพในกรณีที่เกิดปัญหา:

     กำหนด ( 'SCRIPT_DEBUG' จริง );

    ปลั๊กอิน Debug Bar เป็นเครื่องมือเพิ่มเติมและเสริมที่เป็นประโยชน์ มันจะแสดงข้อมูลการดีบักในอินเทอร์เฟซที่ดี

    เพื่อให้สิ่งนี้เกิดขึ้นได้ ใน php.ini ต้องมีบรรทัดที่ให้ค่าคงที่ error_reporting เป็นค่าอื่นที่ไม่ใช่ NONE เช่น error_reporting = E_ALL ไม่ ควรมีเครื่องหมายอัฒภาคกำกับบรรทัดนี้ ที่ทำให้เป็นความคิดเห็นมากกว่าการตั้งค่าที่ใช้งานอยู่ โปรดทราบว่าคุณจะได้รับ ทุก ข้อผิดพลาด คำเตือน และการแจ้งเตือนของ PHP หากคุณใช้ E_ALL ใช้ค่าอื่นเช่น E_ERROR เพื่อบันทึกเฉพาะข้อผิดพลาดรันไทม์ร้ายแรงที่ทำให้ WordPress หยุดทำงาน

    3. ตรวจสอบความขัดแย้งของธีมและปลั๊กอิน

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

    ธีมการแก้ไขปัญหา

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

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

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

    การแก้ไขปัญหาปลั๊กอิน

    คุณสามารถปิดใช้งานปลั๊กอิน โดยไม่ต้อง เข้าถึงผู้ดูแลระบบ WordPress ผ่านบรรทัดคำสั่ง/SSH หรือ SFTP เพียงแค่ย้ายโฟลเดอร์ปลั๊กอินออกจากโฟลเดอร์ /wp-content/plugins/ ชั่วคราว วิธีปฏิบัติของฉันคือสร้างโฟลเดอร์ย่อยของปลั๊กอินชื่อ "A" เพื่อให้ปรากฏเป็นอันดับแรกในไดเร็กทอรี /plugins ที่เรียงตามตัวอักษร จากนั้นฉันจะย้ายโฟลเดอร์ปลั๊กอินอื่นๆ ทั้งหมดไปที่ “A”

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

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

    4. ซ่อมแซมไฟล์หลักที่เสียหาย

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

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

    วิธีป้องกัน WSOD — คำแนะนำสำหรับเจ้าของเว็บไซต์ WordPress และผู้สร้าง

    WordPress ทำงานได้ดี — และทันใดนั้นคุณก็พบกับ White Screen of Death!

    อาจเป็นเพราะคุณเปลี่ยนแปลงบางอย่างที่สำคัญต่อการทำงานของ WordPress

    หากคุณใช้บัญชีโฮสติ้ง WordPress ที่มีการจัดการอย่างแน่นหนากับ Liquid Web หรือ Nexcess ที่กำหนดค่าอย่างเหมาะสมด้วยทรัพยากรที่เพียงพอสำหรับสิ่งที่คุณทำกับบัญชีนั้น 99% ของวิธีที่คุณสามารถทำลาย WordPress ด้วย WSOD นั้นสามารถหลีกเลี่ยงได้

    ปัญหาคือเจ้าของไซต์ไม่หลีกเลี่ยงแนวทางปฏิบัติเหล่านี้!

    สิ่งที่ไม่ควรทำ

    1. การเข้ารหัสคาวบอย การเพิ่มหรือแก้ไขโค้ดการทำงานบนไซต์สดผ่าน SFTP, บรรทัดคำสั่ง หรือตัวแก้ไขโค้ดและตัวแทรกสคริปต์ภายใน WordPress admin ความผิดพลาดเล็กน้อยจะทำให้เว็บไซต์ล่ม การเปลี่ยนไฟล์คอนฟิกูเรชัน เช่น . .htaccess และ wp-config.php อาจทำให้ไซต์ล่มได้เช่นกัน ทำงานกับการทดสอบในพื้นที่หรือไซต์การแสดงสด (แต่ไม่ใช่สาธารณะ) แทน
    2. การติดตั้งธีม ปลั๊กอิน และส่วนขยายที่น่าสงสัย การติดตั้งซอฟต์แวร์คุณภาพต่ำหรือแม้แต่ซอฟต์แวร์ที่เป็นโมฆะไปยังไซต์ที่ใช้งานจริงเป็นการเชิญชวนให้เกิดปัญหา การเพิ่มหลายสิ่งหลายอย่างพร้อมกันมากเกินไปอาจทำให้ยากต่อการตัดสินว่าสิ่งใดคือการเปลี่ยนแปลงที่ทำลายล้างในที่สุด เช่นเดียวกับการเขียนโค้ดคาวบอย การติดตั้งผลิตภัณฑ์โค้ดใหม่ลงในไซต์ที่ใช้งานจริงนั้นมีความเสี่ยง ทดสอบให้ดีในไซต์ส่วนตัวหรือไซต์ทดลองก่อน
    3. การแคชที่ซับซ้อน มีการแคชฝั่งเซิร์ฟเวอร์หลายประเภทที่โฮสต์ของคุณเสนอซึ่งอาจเล่นได้ไม่ดีกับปลั๊กอินการแคชและการเพิ่มประสิทธิภาพทั้งหมด เมื่อคุณใช้วิธีหรือการตั้งค่าการแคชใหม่ ให้ทดสอบอย่างรอบคอบกับสภาพแวดล้อมแบบโลคัลและแบบชั่วคราวก่อนที่จะดำเนินการเปลี่ยนแปลงกับไซต์ที่ใช้งานอยู่
    4. อัปเดตทุกอย่างพร้อมกัน คุณสามารถอัปเดตชุดรูปแบบและปลั๊กอินจำนวนมากพร้อมกันได้ โดยปกติวิธีนี้ใช้ได้ แต่ถ้าเซิร์ฟเวอร์ของคุณหมดเวลา คุณอาจติดขัดในโหมดการบำรุงรักษา นอกจากนี้ โค้ดที่อัปเดตใหม่ยังสามารถแนะนำจุดบกพร่อง ข้อขัดแย้ง หรือปัญหาความเข้ากันได้ใหม่ๆ หากสิ่งนี้เกิดขึ้นและไซต์ของคุณหยุดทำงาน การระบุแหล่งที่มาของปัญหาจะทำได้ยากขึ้น อาจเป็นรายการจำนวนเท่าใดก็ได้หากคุณอัปเดตธีม ปลั๊กอิน และส่วนขยายหลายรายการพร้อมกัน โค้ดที่อัปเดตสามารถทดสอบได้ภายในเครื่องและบนไซต์การแสดงสดก่อนที่จะเผยแพร่ในไซต์สาธารณะหลักของคุณ

    เคล็ดลับสำหรับชีวิตที่ไม่มี WSOD

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

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

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