เหตุใดฉันจึงได้รับข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500 บนไซต์ WordPress ของฉัน (พร้อมวิดีโอ)

เผยแพร่แล้ว: 2021-03-12
HTTP 500 Internal Server Error

ปรับปรุงล่าสุด - 8 กรกฎาคม 2021

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

การทำความเข้าใจข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500

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

ตอนนี้ เราจะพิจารณาความเป็นไปได้ที่อาจช่วยคุณแก้ไขข้อผิดพลาดนี้ได้

เปิดใช้งานการดีบัก

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

หากต้องการเปิดโหมดแก้ไขข้อบกพร่อง คุณจะต้องเข้าถึงไฟล์ wp-config.php เมื่อคุณค้นหาเนื้อหาภายในไฟล์นี้ คุณควรจะสามารถค้นหา WP_DEBUG ได้ ต้องตั้งค่านี้เป็น 'จริง' เพื่อเปิดใช้งานการดีบัก หากคุณไม่พบ WP_DEBUG ภายในไฟล์ wo-config.php ของคุณ คุณสามารถสร้างมันขึ้นมาได้

โดยทั่วไป คุณต้องมีรหัสต่อไปนี้ในไฟล์ wp-config.php เพื่อเปิดการดีบัก

define( "WP_DEBUG", true );

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

ลองใช้ปลั๊กอินดีบัก

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

ตรวจสอบแบบสอบถาม

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

ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500
ปลั๊กอินนี้ช่วยคุณในการดีบักปัญหาต่างๆ ของ WordPress

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

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

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

ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500
การเข้าถึงการตั้งค่า "ล้างข้อมูลการท่องเว็บ" จากแคชของคุณ

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

ที่ด้านบน คุณยังสามารถเลือกช่วงเวลาสำหรับล้างแคชการสืบค้นได้อีกด้วย จากนั้นคลิก "ล้างข้อมูล" แคชเบราว์เซอร์ Chrome ของคุณว่างเปล่า

ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500
การล้างแคชของเบราว์เซอร์ใน Chrome

ตรวจสอบปลั๊กอินและธีม

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

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

เพิ่มขีดจำกัดหน่วยความจำ

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

เช่นเดียวกับที่คุณเปิดใช้งานการดีบัก คุณสามารถค้นหาไฟล์ wp-config.php จากการติดตั้ง WordPress รูทของคุณ ค้นหาบรรทัดต่อไปนี้ในไฟล์:

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

คุณสามารถเพิ่มขีดจำกัดหน่วยความจำได้โดยการระบุค่าที่สูงขึ้นที่นี่ ตัวอย่างเช่น คุณสามารถแทนที่บรรทัดนี้ตามที่ระบุด้านล่าง:

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

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

แก้ไขปัญหาเกี่ยวกับ .htaccess file . ของคุณ

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

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

คุณสามารถสร้างไฟล์ .htaccess ใหม่ได้โดยเข้าไปที่การตั้งค่า > ลิงก์ถาวร แล้วคลิกปุ่มบันทึกการเปลี่ยนแปลง

ตรวจสอบเวอร์ชัน PHP ของคุณ

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

อัปโหลดไฟล์ WordPress หลักอีกครั้ง

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

ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500
คุณสามารถดาวน์โหลด WordPress เวอร์ชันใหม่และแทนที่โฟลเดอร์ wp-admin และ wp-includes

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

แก้ไขข้อผิดพลาดในการสร้างปัญหาการเชื่อมต่อฐานข้อมูล

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

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

  1. ตรวจสอบว่าข้อมูลรับรองการเข้าสู่ระบบฐานข้อมูลของคุณถูกต้องหรือไม่
  2. ซ่อมแซมฐานข้อมูลที่เสียหายด้วยโหมดการซ่อมแซมฐานข้อมูลในตัวของ WordPress: define('WP_ALLOW_REPAIR', true);
  3. แก้ไขไฟล์ที่เสียหาย
  4. ตรวจสอบกับผู้ให้บริการโฮสต์ของคุณสำหรับปัญหาที่เกี่ยวข้องกับเซิร์ฟเวอร์ฐานข้อมูลของคุณ
  5. กู้คืนเป็นข้อมูลสำรองล่าสุดของคุณ

ขจัดข้อผิดพลาดในการอนุญาตของ WordPress

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

  • ไฟล์ทั้งหมดควรเป็น 644 (-rw-r–r–) หรือ 640
  • ไดเร็กทอรีทั้งหมดควรเป็น 755 (drwxr-xr-x) หรือ 750
  • ไม่ควรให้ไดเร็กทอรี 777 รวมถึงไดเร็กทอรีอัพโหลด
  • การชุบแข็ง: wp-config.php สามารถตั้งค่าเป็น 440 หรือ 400 เพื่อป้องกันไม่ให้ผู้ใช้รายอื่นบนเซิร์ฟเวอร์อ่าน

ระบุว่ามีปัญหามากกว่าหนึ่งประเด็นหรือไม่

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

ติดต่อโฮสต์ของคุณ

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

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

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

หากคุณต้องการเวอร์ชันวิดีโอ โปรดตรวจสอบวิดีโอด้านล่าง:

อ่านเพิ่มเติม

  • วิธีแก้ไขข้อผิดพลาดในการเข้าสู่ระบบ WordPress ทั่วไป?
  • จะรักษาความปลอดภัยหน้าเข้าสู่ระบบ WordPress ได้อย่างไร