ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500: วิธีแก้ไขใน WordPress
เผยแพร่แล้ว: 2024-05-06“ข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 ข้อ” อาจเป็นเรื่องที่น่าหงุดหงิดที่ต้องเผชิญ เนื่องจากไม่ได้บอกคุณว่าเกิดอะไรขึ้น
หรือที่เรียกว่า “ข้อผิดพลาด http 500” อาจเกิดจากปัจจัยหลายประการ เช่น ข้อขัดแย้งระหว่างปลั๊กอินหรือธีม WordPress หน่วยความจำ PHP ถึงขีดจำกัด ไฟล์ .htaccess ที่เสียหาย การกำหนดค่าเซิร์ฟเวอร์ไม่ถูกต้อง หรือการอนุญาตไฟล์และไดเร็กทอรีไม่ถูกต้อง เหตุผลอื่น ๆ
ในบทความนี้ ฉันจะช่วยคุณระบุสาเหตุที่แท้จริงของข้อผิดพลาดบนเว็บไซต์ WordPress ของคุณและแนะนำคุณตลอดการแก้ไข
สาเหตุทั่วไปของข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500
คำจำกัดความพื้นฐาน:
- “HTTP” หมายถึงโปรโตคอลที่ใช้ในการสื่อสารระหว่างไคลเอนต์ (เบราว์เซอร์ของคุณ) และเว็บเซิร์ฟเวอร์
- “500” คือรหัสสถานะที่ระบุถึง ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
ดังนั้น “ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500” โดยรวมบ่งชี้ว่ามีบางสิ่งที่ไม่คาดคิดเกิดขึ้นระหว่างการสื่อสารระหว่างเบราว์เซอร์และเว็บเซิร์ฟเวอร์ และปัญหานั้นมาจากฝั่งเซิร์ฟเวอร์ อย่างไรก็ตาม อาจไม่มีอะไรผิดปกติกับเซิร์ฟเวอร์ของคุณ ดังนั้นอย่ากังวล
สำหรับสาเหตุที่แท้จริงของข้อผิดพลาดนั้นอาจเกิดขึ้นได้จากปัญหาใด ๆ ต่อไปนี้:
- ปลั๊กอินหรือธีมที่เขียนโค้ดไม่ดี อาจทำให้เกิดข้อขัดแย้งกับปลั๊กอินและธีมอื่นๆ ซึ่งทำให้เกิดข้อผิดพลาด
- หน่วยความจำ PHP หมดลง ทำให้การดำเนินการที่ใช้ทรัพยากรมากยุติก่อนเวลาอันควร
- ไฟล์ .htaccess ที่เสียหาย ซึ่ง เป็นไฟล์หลักของ WordPress เนื่องจากการกำหนดค่าที่ไม่ถูกต้องหรือข้อผิดพลาดทางไวยากรณ์ อาจขัดขวางความสามารถของเซิร์ฟเวอร์ในการประมวลผลคำขอได้อย่างถูกต้อง นำไปสู่ข้อผิดพลาด 500
- สิทธิ์ของไฟล์ที่เปลี่ยนแปลง อาจทำให้เซิร์ฟเวอร์ประสบปัญหาในการเข้าถึงไฟล์หรือไดเร็กทอรีที่จำเป็นเพื่อดำเนินการตามคำขอ ซึ่งทำให้เกิดข้อผิดพลาด
- ในบางโอกาสซึ่งเกิดขึ้นไม่บ่อยนัก ความเข้ากันไม่ได้ของเบราว์เซอร์ อาจทำให้เว็บไซต์เปิดได้ตามปกติบนเบราว์เซอร์หนึ่งและทำให้เกิดข้อผิดพลาดในอีกเบราว์เซอร์หนึ่ง
เมื่อทราบสาเหตุทั่วไปแล้ว มาดูวิธีที่ดีที่สุดในการกำจัดข้อผิดพลาดนี้:
วิธีแก้ไขข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 บนไซต์ของคุณ
การจัดการกับข้อผิดพลาดภายในเซิร์ฟเวอร์บนเว็บไซต์ของคุณเป็นสูตรสำเร็จสำหรับวันที่เลวร้ายอย่างแน่นอน แต่หวังว่าเราจะแก้ไขได้ในเวลาอันรวดเร็วด้วยกัน!
ต่อไปนี้เป็น วิธีกำจัดข้อผิดพลาด หากคุณพบข้อผิดพลาดบนเว็บไซต์ของคุณเอง (ที่ใช้งาน WordPress):
1. ล้างแคชเบราว์เซอร์ของคุณ
การแคชเป็นกระบวนการจัดเก็บข้อมูลเว็บไซต์ในเบราว์เซอร์ของผู้ใช้เพื่อให้เข้าถึงได้รวดเร็วยิ่งขึ้น ด้วยการนำข้อมูลไซต์ที่เข้าถึงบ่อยที่สุดมาเก็บไว้ในแคช การเข้าชมเว็บไซต์ในภายหลังสามารถข้ามกระบวนการที่ใช้เวลานานบางอย่างได้ เช่น การดึงข้อมูลจากเซิร์ฟเวอร์หรือการแสดงผลองค์ประกอบของหน้าที่ซับซ้อน ส่งผลให้ความเร็วในการโหลดหน้าเว็บเร็วขึ้นและประสบการณ์การใช้งานที่ดีขึ้น
ข้อเสียที่ใหญ่ที่สุดของการแคชคือสามารถแสดงเนื้อหาที่ล้าสมัยแก่ผู้เยี่ยมชมได้ ดังนั้น ข้อผิดพลาด 500 ที่แสดงบนเว็บไซต์ที่คุณกำลังเรียกดูอาจเป็นเวอร์ชันแคชของไซต์ ข้อผิดพลาดอาจเป็นข้อผิดพลาดชั่วคราวและอาจถูกลบออกโดยอัตโนมัติ
นี่คือสาเหตุที่การล้างแคชเบราว์เซอร์ของคุณเป็นวิธีที่ง่ายที่สุดและบ่อยครั้งเป็นขั้นตอนที่มีประสิทธิภาพมากที่สุดในการ "แก้ไข" ข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 ข้อ ฉันกำลังพูดถึง การแก้ไข ด้วยเครื่องหมายคำพูดเนื่องจากคุณไม่ได้แก้ไขมันจริงๆ คุณเพียงแค่รีเฟรชเบราว์เซอร์ของคุณเองเพื่อให้คุณสามารถเข้าถึงเว็บไซต์ได้โดยไม่มีข้อผิดพลาด
ต่อไปนี้เป็นวิธีล้างแคชของคุณในเว็บเบราว์เซอร์ยอดนิยม
2. ตรวจสอบบันทึกการแก้ไขข้อบกพร่อง
บันทึกการแก้ไขข้อบกพร่องเป็นเครื่องมือ WordPress ในตัวที่มีข้อมูลโดยละเอียดเกี่ยวกับข้อผิดพลาดและคำเตือนที่เกิดขึ้นบนเว็บไซต์ WordPress
บันทึกการแก้ไขข้อบกพร่องของเว็บไซต์ของคุณควรมีรายละเอียดเกี่ยวกับ “ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500” และอาจนำคุณไปยังแหล่งที่มาของข้อผิดพลาด รู้สาเหตุมีชัยไปกว่าครึ่ง
ตามค่าเริ่มต้น บันทึกการแก้ไขข้อบกพร่องของ WordPress จะถูกปิดเพื่อป้องกันการแสดงข้อมูลที่ละเอียดอ่อนต่อผู้เยี่ยมชม คุณจะต้องเปิดใช้งานก่อน
เนื่องจากข้อผิดพลาดเซิร์ฟเวอร์ภายในแสดงบนเว็บไซต์ของคุณ คุณจึงไม่น่าจะสามารถเข้าถึงแดชบอร์ด WordPress ของคุณได้ ดังนั้น คุณจะต้องไปที่ส่วนหลังของเว็บไซต์ของคุณเพื่อแทรกโค้ดบางส่วนลงในไฟล์ wp-config.php และเปิดใช้งานบันทึกการแก้ไขข้อบกพร่อง
คุณสามารถทำได้โดยเชื่อมต่อกับเว็บไซต์ของคุณผ่าน FTP หรือผ่านบัญชีโฮสติ้งของคุณ หากต้องการใช้ FTP โปรดอ่านคู่มือนี้ ด้านล่างนี้ ฉันจะแสดงให้คุณเห็นถึงวิธีการใช้เครื่องมือที่มีอยู่ในบัญชีโฮสติ้งของคุณ
เข้าสู่ระบบโปรไฟล์/บัญชีโฮสติ้งของคุณ แล้วมองหาลิงก์ไปยัง cPanel ซึ่งเป็นแผงการจัดการโฮสติ้งที่โฮสต์เว็บส่วนใหญ่ใช้ เมื่อไปถึงแล้ว ให้ไปที่ File Manager :
ภายในตัวจัดการไฟล์ ให้เลือกโฟลเดอร์ public_html จากนั้นค้นหาไฟล์ wp-config .php
คลิกขวาที่ไฟล์แล้วเลือกตัวเลือก แก้ไข ไฟล์จะเปิดขึ้นในหน้าอื่น
เลื่อนลงไปที่ท้ายไฟล์กำหนดค่าและ วางโค้ดต่อไปนี้ ก่อนบรรทัดนี้: /* That's all, stop editing! Happy blogging. */
/* That's all, stop editing! Happy blogging. */
/* That's all, stop editing! Happy blogging. */
:
define( 'WP_DEBUG', true); define( 'WP_DEBUG_LOG', true);
บันทึก การเปลี่ยนแปลงและออกจากไฟล์
จากนั้นไปที่ public_html → wp-content → debug.log
เปิดไฟล์โดยคลิกขวาแล้วเลือกตัวเลือก เปิด
ค้นหาบันทึกข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 รายการ และอ่านรายละเอียดของข้อผิดพลาด
หากคุณพบสาเหตุที่แท้จริงแล้ว ให้ข้ามไปยังวิธีแก้ปัญหาที่เกี่ยวข้องในส่วนด้านล่าง ถ้าไม่เช่นนั้น ให้เริ่มใช้โซลูชันต่อไปนี้ทีละรายการต่อไป
3. ปิดการใช้งานปลั๊กอิน
เปิดบัญชีโฮสติ้งของคุณและไปที่ cPanel → ตัวจัดการไฟล์ → public_html → wp-content → ปลั๊กอิน
คลิกขวา ที่โฟลเดอร์ปลั๊กอิน เลือก เปลี่ยนชื่อ และเปลี่ยนชื่อโฟลเดอร์เป็น “plugins-off ” มันจะปิดการใช้งานปลั๊กอินทั้งหมด
การปิดใช้งานจะช่วยตรวจสอบว่าข้อขัดแย้งของปลั๊กอินทำให้เกิดข้อผิดพลาดหรือไม่ หากคุณไม่เห็นข้อผิดพลาดบนเว็บไซต์ของคุณอีกต่อไป แสดงว่าเป็นการยืนยันทฤษฎีข้อขัดแย้งของปลั๊กอิน
จากนั้น เปลี่ยนกลับเป็น ชื่อเดิม ของโฟลเดอร์เพื่อเปิดใช้งานปลั๊กอินทั้งหมดของคุณอีกครั้ง ซึ่งจะทำให้เกิดข้อผิดพลาดในการส่งคืน ไม่ต้องกังวล.
เปิด โฟลเดอร์ปลั๊กอินและเริ่มปิดการใช้งานปลั๊กอินทีละรายการ – เปลี่ยนชื่อโฟลเดอร์ปลั๊กอินแต่ละโฟลเดอร์ทีละรายการ ทุกครั้งที่คุณปิดใช้งานปลั๊กอิน ให้ตรวจสอบว่าข้อผิดพลาดหายไปหรือไม่ เมื่อถึงจุดหนึ่ง ข้อผิดพลาดจะถูกลบออก และคุณจะรู้ว่าปลั๊กอินที่คุณเพิ่งปิดการใช้งานเป็นสาเหตุ
ลบปลั๊กอินนั้นโดยคลิกขวาที่โฟลเดอร์ปลั๊กอินแล้วเลือกตัวเลือก ลบ
4. ปิดการใช้งานธีมของคุณ
หากต้องการปิดใช้งานธีมปัจจุบัน คุณต้องเปลี่ยนไปใช้ธีมอื่น ฉันขอแนะนำให้เปลี่ยนไปใช้ธีม WordPress เริ่มต้นที่คุณควรมีไว้บนเว็บไซต์ของคุณ – อาจเป็นเพียงการปิดใช้งานอยู่เท่านั้น
ในการดำเนินการนี้ ให้เชื่อมต่อกับฐานข้อมูลโดยใช้ phpMyAdmin (หรือเครื่องมือใดก็ตามที่โฮสต์ของคุณใช้) จากแผงควบคุมโฮสติ้ง เมื่อคุณเข้าไปแล้ว ให้เลือกฐานข้อมูล WordPress และค้นหาตาราง wp_options (อาจมีคำนำหน้าอื่น) ในเมนูทางด้านขวา
เปิดตารางแล้วคลิก ค้นหา ในเมนูนำทางที่ด้านบนของหน้าจอ พิมพ์ “ template” ลงในช่อง Value ที่ตรงกับคอลัมน์ option_name แล้วคลิก Go
สิ่งนี้จะส่งคืนรายการเดียวจากตาราง wp_options รายการนั้นจะบอก WordPress ว่าจะใช้ธีมใด หัวข้อนี้คือ ยี่สิบยี่สิบ ในตัวอย่างของเรา
ดับเบิลคลิกที่ชื่อธีมใต้ option_value และคุณสามารถเปลี่ยนเป็นธีมอื่นได้ นี่ต้องเป็นธีมที่ติดตั้งบนเว็บไซต์ ไม่เช่นนั้นคุณจะพบข้อผิดพลาดเพิ่มเติม
การเดิมพันที่ปลอดภัยสำหรับไซต์ส่วนใหญ่คือตัวเลือกธีมเริ่มต้น เช่น ยี่สิบยี่สิบสาม หรือ ยี่สิบยี่สิบสอง เมื่อดำเนินการเสร็จแล้ว ให้ตรวจสอบเว็บไซต์ของคุณเพื่อดูว่ายังมีข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 อยู่หรือไม่
5. อัปโหลดไฟล์หลักอีกครั้ง
ไปที่ wordpress.org และดาวน์โหลด WordPress เวอร์ชันล่าสุดบนคอมพิวเตอร์ของคุณ จากนั้น แตก ไฟล์ (นี่เป็น สิ่งสำคัญ )
กลับไปที่บัญชีโฮสติ้งของคุณและอีกครั้งใน cPanel → File Manager → public_html คลิกที่ อัปโหลด เพื่ออัปโหลดโฟลเดอร์ WordPress ใหม่
คุณจะได้รับแจ้งว่าคุณกำลังจะเขียนทับไฟล์ ไม่เป็นไร นั่นคือสิ่งที่เราต้องการจริงๆ ให้สิทธิ์และปล่อยให้ไฟล์ใหม่อัปโหลด
จะใช้เวลาสักครู่เพื่อให้กระบวนการเสร็จสมบูรณ์ ตรวจสอบว่าข้อผิดพลาด 500 หายไปหรือไม่
6. สร้างไฟล์ .htaccess ใหม่
หากต้องการสร้างไฟล์ .htaccess ใหม่ ให้ไปที่ public_html → .htaccess คลิกขวาที่ไฟล์แล้วกดปุ่ม ดาวน์โหลด เพื่อดาวน์โหลดไฟล์ที่มีอยู่ไปยังคอมพิวเตอร์ของคุณเพื่อเป็นข้อมูลสำรอง
คลิกขวาอีกครั้งแล้วกดปุ่ม Delete เพื่อลบไฟล์
คลิกไอคอน +ไฟล์ ในแถบเครื่องมือที่ด้านบนของหน้าจอ พิมพ์ “ .htaccess “ ลงในช่องป้อนข้อมูลชื่อไฟล์ใหม่
คลิก สร้างไฟล์ใหม่ คลิกขวาที่ไฟล์ที่สร้างขึ้นใหม่เพื่อ แก้ไข เพิ่มรหัสต่อไปนี้:
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
โค้ดด้านบนมาจากเทมเพลตอย่างเป็นทางการสำหรับไฟล์ .htaccess ที่ WordPress ใช้
บันทึก ไฟล์ก่อนที่คุณจะปิดหน้าต่าง
7. เพิ่มขีดจำกัดหน่วยความจำ PHP
PHP เป็นภาษาโปรแกรมที่ช่วยให้ไซต์ WordPress ของคุณทำงานได้ การดำเนินการทั้งหมดที่ส่งผลให้เนื้อหาแสดงบนไซต์ของคุณเป็นการทำงานของ PHP (ฉันทำให้ง่ายขึ้นเล็กน้อย)
การดำเนินการ PHP เหล่านั้นมักใช้เวลาและหน่วยความจำในการดำเนินการ อย่างไรก็ตาม หากเซิร์ฟเวอร์ของคุณไม่ได้จัดสรรทรัพยากรเพียงพอสำหรับการดำเนินการเหล่านั้น คุณอาจเห็นข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 รายการ
การเพิ่มขีดจำกัดหน่วยความจำเป็นวิธีที่เรียบร้อยในการแก้ไขข้อผิดพลาดในหลายกรณี
คุณสามารถทำได้จากแผงโฮสติ้งของคุณ กลับไปที่ cPanel เพื่อทำสิ่งที่จำเป็น
ใน cPanel ให้มองหาตัวเลือกที่เรียกว่า PHP Version หรือ PHP Selector ชื่อนี้อาจแตกต่างเล็กน้อยในแต่ละโฮสต์ ตัวอย่างเช่น ใน Namecheap ตัวเลือกที่คุณควรมองหาเรียกว่า Select PHP Version
จากนั้นป้อน PHP Options หรือ Options
ในนั้น คุณสามารถเปลี่ยนค่าถัดจาก memory_limit ได้ เพียงเลือกค่าที่สูงกว่าสิ่งที่คุณได้เลือกไว้หนึ่งระดับในปัจจุบัน
อย่าลืมกดปุ่ม บันทึก
8. ขอความช่วยเหลือจากผู้ให้บริการโฮสติ้งของคุณ
ไม่มีอะไรทำงานเหรอ? อาจถึงเวลาติดต่อผู้ให้บริการโฮสติ้งของคุณและขอความช่วยเหลือ
บอกพวกเขาเกี่ยวกับขั้นตอนทั้งหมดที่คุณได้ทำไปแล้วเพื่อลบข้อผิดพลาด ผู้ให้บริการโฮสติ้งของคุณควรมีเคล็ดลับเพิ่มเติมอีกเล็กน้อย
สรุปเกี่ยวกับข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 รายการ
ข้อผิดพลาดนี้เป็นหนึ่งในข้อผิดพลาดที่น่าหงุดหงิดที่สุดที่คุณเคยพบบนเว็บไซต์ WordPress ของคุณ
มันไม่ได้บอกคุณว่าทำไมมันถึงเกิดขึ้น จะทำอย่างไรกับมัน แถมยังมีสาเหตุหลายประการที่กระตุ้นให้เกิดมัน
เนื่องจากสาเหตุที่แท้จริงของข้อผิดพลาดเกิดขึ้นเพียงชั่วขณะ คุณจึงสามารถลองวิธีแก้ปัญหาต่อไปนี้ทีละรายการและดูว่าวิธีใดที่จะกำจัดข้อผิดพลาดได้:
- ล้างแคชเบราว์เซอร์ของคุณ
- ตรวจสอบบันทึกการแก้ไขข้อบกพร่องของ WordPress
- ปิดการใช้งานปลั๊กอินและธีม
- อัปโหลดไฟล์ WordPress หลักอีกครั้ง
- สร้างไฟล์ .htaccess ใหม่
- เพิ่มขีดจำกัดหน่วยความจำ PHP
เมื่อไม่มีอะไรทำงาน วิธีที่ดีที่สุดคือขอความช่วยเหลือจากผู้ให้บริการโฮสติ้งของคุณโดยตรง
หากคุณมีคำถามใดๆ เกี่ยวกับ “ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500” โปรดแจ้งให้เราทราบในส่วนความคิดเห็นด้านล่าง