ความหมายและวิธีแก้ไข
เผยแพร่แล้ว: 2022-09-15การแก้ไขข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500 เปรียบเสมือนการไขปริศนา
คุณไม่รู้ว่าเกิดอะไรขึ้นหรือเกิดขึ้นเพราะอะไร สิ่งที่คุณรู้คือมีบางอย่างผิดปกติและคุณจำเป็นต้องแก้ไข
เพื่อแนะนำคุณเกี่ยวกับความยุ่งยากในการแก้ไขปัญหาข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500 ที่น่าสะพรึงกลัว มาดูความหมายที่แท้จริง รวมถึงสาเหตุและวิธีแก้ไขที่พบบ่อยที่สุด
ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500 คืออะไร
ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500 เป็นข้อความแสดงข้อผิดพลาดทั่วไป ครอบคลุมปัญหาที่ไม่คาดคิดซึ่งไม่พอดีกับรหัสข้อผิดพลาดที่มีอยู่ ข้อผิดพลาด HTTP 500 นั้นแก้ไขปัญหาได้ยาก เนื่องจากปัญหาต่างๆ ในฝั่งเซิร์ฟเวอร์สามารถทริกเกอร์ได้
ต่อไปนี้คือตัวอย่างบางส่วนของหน้าแสดงข้อผิดพลาด 500 รายการในเบราว์เซอร์ของคุณ:
ที่มาของภาพ
ที่มาของภาพ
HTTP 500
ข้อผิดพลาด HTTP 500 ไม่ใช่ปัญหากับคอมพิวเตอร์ เบราว์เซอร์ หรือการเชื่อมต่ออินเทอร์เน็ต แต่เป็นการตอบสนองทั่วไปที่จับข้อผิดพลาดของเซิร์ฟเวอร์ที่ไม่สามารถอธิบายได้ คุณจะเห็นข้อผิดพลาดภายในเซิร์ฟเวอร์ HyperText Transfer Protocol (HTTP) 500 เมื่อปัญหาเซิร์ฟเวอร์ของคุณไม่ตรงกับรหัสข้อผิดพลาดอื่น
รหัสข้อผิดพลาดทั่วไปอื่นๆ
รหัส HTTP จะแสดงให้คุณเห็นว่าเว็บเบราว์เซอร์และเว็บไซต์ของคุณสื่อสารกันอย่างไร นี่คือรหัสข้อผิดพลาดทั่วไปอื่นๆ ที่คุณอาจเห็นบนเว็บไซต์ของคุณ:
HTTP 200
นี่คือรหัสสถานะมาตรฐานสำหรับเว็บไซต์ที่ทำงานได้ดี
HTTP 301
นี่คือรหัสสำหรับการเปลี่ยนเส้นทางถาวร ตัวอย่างเช่น สมมติว่าคุณมีหน้าเว็บไซต์สองหน้าเกี่ยวกับวิดเจ็ตที่มีข้อมูลที่ซ้ำกัน และหน้าหนึ่งได้รับการเข้าชมมากกว่าอีกหน้าหนึ่ง การเปลี่ยนเส้นทางหน้าที่มีการเข้าชมต่ำไปยังหน้าที่มีการเข้าชมสูงนั้นสมเหตุสมผลเพื่อปรับปรุง SEO สำหรับเว็บไซต์ของคุณ
HTTP 302
รหัสนี้ใช้สำหรับการเปลี่ยนเส้นทางชั่วคราว นี่เป็นสถานการณ์ที่คุณต้องการส่งผู้ใช้ไปยังหน้าอื่นในช่วงเวลาสั้นๆ
HTTP 304
รหัสนี้จะปรากฏขึ้นเมื่อเว็บไซต์ที่คุณร้องขอไม่เห็นการอัปเดตตั้งแต่ที่คุณเยี่ยมชมครั้งล่าสุด
HTTP 403
รหัสนี้มาจากเซิร์ฟเวอร์เมื่อคุณพยายามเข้าถึง URL ที่จำกัด
HTTP 404
รหัส 404 จะบอกผู้ใช้ของคุณว่าเซิร์ฟเวอร์ของคุณไม่พบหน้าที่พวกเขาร้องขอด้วยเบราว์เซอร์ของพวกเขา ข้อผิดพลาด 404 เป็นเรื่องปกติ และบางไซต์ใช้สิ่งนี้เพื่อประโยชน์ของตน
HTTP 405
นี่เป็นข้อผิดพลาดของรหัสสถานะการตอบสนอง HTTP มันบอกคุณว่าเว็บเบราว์เซอร์ต้องการเข้าถึงหน้าเว็บของคุณและเซิร์ฟเวอร์ของคุณปฏิเสธวิธี HTTP เฉพาะนั้น ซึ่งหมายความว่าเบราว์เซอร์ไม่สามารถเข้าถึงหน้าเว็บที่ร้องขอได้
HTTP 410
นี่คือรหัสถาวรที่บอกผู้เยี่ยมชมไซต์ว่าหน้าที่พวกเขากำลังมองหาไม่มีอยู่จริง
HTTP 413
รหัสนี้จะปรากฏขึ้นเมื่อผู้ใช้พยายามอัปโหลดไฟล์ที่เกินขีดจำกัดขนาดไฟล์ของเซิร์ฟเวอร์
HTTP 429
ข้อผิดพลาดนี้เป็นการตอบสนองของเซิร์ฟเวอร์เพื่อหยุดส่งคำขอเนื่องจากทรัพยากรมีมากเกินไป รหัสนี้อาจปรากฏขึ้นหากไซต์ของคุณต้องการเรียก API มากเกินไปเพื่อให้เป็นไปตามคำขอ
HTTP 503
รหัสนี้จะแจ้งให้ผู้ใช้ทราบว่าเซิร์ฟเวอร์ไม่สามารถโหลดหน้าเว็บที่ต้องการได้ชั่วคราว
ตรวจสอบโพสต์นี้สำหรับภาพรวมที่ครอบคลุมของรหัสข้อผิดพลาด
สาเหตุที่เป็นไปได้ของข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 รายการ
ข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 รายการ เป็นปัญหาทั่วไปกับเซิร์ฟเวอร์ของเว็บไซต์ ตามที่ระบุในชื่อ มีความเป็นไปได้มากกว่าที่จะหมายความว่ามีปัญหาหรือความผิดพลาดชั่วคราวกับการเขียนโปรแกรมของเว็บไซต์
สาเหตุที่เป็นไปได้บางประการของข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 รายการ ได้แก่:
ไฟล์ .Htaccess เสียหายหรือเสียหาย
ไฟล์ .htaccess เป็นไฟล์ข้อความที่มีคำแนะนำเซิร์ฟเวอร์ที่สำคัญ คำแนะนำเหล่านี้บอกให้ซอฟต์แวร์ของคุณเปิดหรือปิดใช้งานฟังก์ชันเฉพาะ อาจช่วยคุณปกป้องรหัสผ่านในไดเร็กทอรีหรือจำกัดการเข้าถึงของผู้ใช้
มีหลายวิธีที่จะทำให้ไฟล์ .htaccess เสียหาย อาจเกิดขึ้นระหว่างการติดตั้งปลั๊กอิน การกำหนดค่าไฟล์ หรือในขณะที่คุณกำลังทำงานบนเซิร์ฟเวอร์ของคุณ
ข้อผิดพลาดในการอนุญาต
ข้อผิดพลาดในการอนุญาตมาพร้อมกับการป้องกันไฟล์ ข้อผิดพลาดในการอนุญาตอาจเป็นจุดบกพร่อง ข้อผิดพลาดของผู้ใช้ หรือปัญหาเครือข่าย โดยปกติ ข้อผิดพลาดนี้หมายความว่าผู้ใช้ไม่ได้รับอนุญาตให้ดำเนินการตามที่พยายาม
ปลั๊กอินหรือธีมของบุคคลที่สามที่ผิดพลาด
หากต้องการเพิ่มคุณลักษณะและฟังก์ชันของผู้ใช้ คุณอาจเพิ่มธีมหรือปลั๊กอินของบุคคลที่สามในเว็บไซต์ของคุณ ปลั๊กอินเหล่านี้เหมาะสำหรับไซต์ของคุณ แต่ก็สามารถส่งผลกระทบต่อความปลอดภัย ข้อบกพร่อง และประสิทธิภาพของไซต์ได้เช่นกัน
ปลั๊กอินและธีมเหล่านี้มักสร้างขึ้นโดยบุคคลหรือกลุ่มย่อย นี่อาจเป็นเรื่องที่ท้าทายเพราะอาจต้องใช้เวลามากขึ้นในการแก้ไขจุดบกพร่องและจุดอ่อน
เกินขีดจำกัดหน่วยความจำ PHP
PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ที่ฝังอยู่ใน HTML PHP ใช้สำหรับจัดการเนื้อหา ฐานข้อมูล การติดตามเซสชัน และอื่นๆ แต่ละกระบวนการ PHP ใช้หน่วยความจำ และบัญชีโฮสติ้งของคุณมีขีดจำกัดสำหรับแต่ละกระบวนการเหล่านี้
หากเว็บไซต์ต้องการหน่วยความจำเกินขีดจำกัด คุณอาจเห็นข้อผิดพลาด HTTP 500
ความเข้ากันได้ของเบราว์เซอร์ HTTP Error 500
ธุรกิจส่วนใหญ่ออกแบบเว็บไซต์ของตนเพื่อให้เข้ากันได้กับเบราว์เซอร์สูงสุด ซึ่งหมายความว่าเว็บไซต์ของคุณเข้าถึงและใช้งานได้ง่ายบนเบราว์เซอร์หรือระบบปฏิบัติการใดๆ แต่เว็บไซต์ของคุณอาจทำงานได้อย่างสมบูรณ์ในเบราว์เซอร์เดียวและมีปัญหาหรือข้อผิดพลาดในเบราว์เซอร์อื่นๆ
เนื่องจาก HTTP 500 เป็นข้อผิดพลาดที่รับได้ทั้งหมด คุณจึงสามารถเห็นข้อผิดพลาดนี้ได้ใน ทุกเบราว์เซอร์ และใน ระบบปฏิบัติการใดๆ
ข้อผิดพลาด HTTP 500 อาจปรากฏขึ้นได้อย่างไร
ข้อผิดพลาดนี้สามารถเกิดขึ้นได้บนไซต์ใดๆ ที่คุณพยายามเข้าชมบนเบราว์เซอร์ เนื่องจากเป็นข้อผิดพลาดทั่วไป จึงมีหลายวิธีในการสื่อสารรหัสนี้
- ข้อผิดพลาดภายในเซิร์ฟเวอร์
- เพจไม่ทำงาน
- 500 ข้อผิดพลาดภายในเซิร์ฟเวอร์
- 500 เซิร์ฟเวอร์ผิดพลาด
- 500 นั่นเป็นข้อผิดพลาด
- HTTP 500.0 – ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
- ข้อผิดพลาด 500
- รหัสข้อผิดพลาด: 500
- เซิร์ฟเวอร์ส่งคืน 500 Internal Server Error
- ข้อผิดพลาดชั่วคราว (500)
วิธีแก้ไขข้อผิดพลาด 500 Internal Server Error
ไม่เหมือนกับข้อผิดพลาดฝั่งเซิร์ฟเวอร์อื่นๆ เช่น รหัส 502 ข้อผิดพลาด 500 เซิร์ฟเวอร์ภายในไม่ได้บอกคุณทันทีว่าปัญหา คืออะไร และไม่ได้บอกวิธีแก้ไขให้คุณทราบ หากข้อผิดพลาดยังคงอยู่ในเว็บไซต์ของคุณนานเกินไป อาจส่งผลเสียต่อ SEO ของคุณได้

ดังนั้น มาดูวิธีแก้ไขปัญหาบางอย่างเพื่อให้คุณสามารถลองแก้ไขปัญหาได้
หากคุณกำลังพยายามโหลดเพจที่มีข้อผิดพลาดภายใน 500 เซิร์ฟเวอร์:
1. รีเฟรชหน้า
นี้อาจดูเหมือนชัดเจน แต่ถ้าเป็นปัญหาการโหลดชั่วคราว คุณอาจพบความสำเร็จถ้าคุณรีเฟรชหน้า ก่อนลองทำอย่างอื่นในรายการนี้ ให้โหลดหน้านี้ซ้ำและดูว่าเกิดอะไรขึ้น
2. กลับมาทีหลัง
เนื่องจากข้อผิดพลาดอยู่ที่ฝั่งเซิร์ฟเวอร์ ฉันจึงยินดีเดิมพันว่าเจ้าของเว็บไซต์กำลังทำงานโดยเร็วที่สุดเพื่อแก้ไขปัญหา ให้เวลาสองสามนาทีหรือไม่เกินหนึ่งชั่วโมง จากนั้นโหลด URL อีกครั้งและดูว่าทีมพัฒนาได้แก้ไขปัญหาแล้วหรือไม่
3. ลบคุกกี้ของเบราว์เซอร์ของคุณ
หากการล้างประวัติเบราว์เซอร์ไม่ได้ผล คุณอาจลองลบคุกกี้ของเบราว์เซอร์ หากคุกกี้เชื่อมโยงกับหน้าเว็บที่อาจเกิดข้อผิดพลาด การลบคุกกี้อาจช่วยโหลดหน้าซ้ำได้
4. วาง URL ของคุณลงในเว็บไซต์ "ลงเพื่อทุกคนหรือเพียงแค่ฉัน"
ไปที่ downforeveryoneorjustme.com และวาง URL ที่คุณเห็นข้อผิดพลาดของเซิร์ฟเวอร์ภายใน คุณจะได้รับแจ้งว่าเว็บไซต์หยุดให้บริการสำหรับคุณเท่านั้น หรือเว็บไซต์หยุดให้บริการสำหรับทุกคน
หากเป็นปัญหากับเซิร์ฟเวอร์ของคุณ การดำเนินการนี้จะช่วยบรรเทาข้อกังวลใดๆ ที่เป็นปัญหากับคอมพิวเตอร์ของคุณเอง
หากข้อผิดพลาด 500 Internal Server อยู่ที่เว็บไซต์ของคุณ:
1. ปิดใช้งานปลั๊กอินหรือธีม
ซอฟต์แวร์ที่เปิดใช้งานใหม่ ส่วนเสริม หรือสคริปต์ของบุคคลที่สามอาจขัดแย้งกับการกำหนดค่าเซิร์ฟเวอร์ปัจจุบันของคุณ ในการพิจารณาสิ่งนี้ ให้ลอง (อย่างระมัดระวัง) ปิดใช้งานหรือถอนการติดตั้งโปรแกรมเสริมของคุณทีละตัวเพื่อระบุสาเหตุที่แน่ชัดว่าเซิร์ฟเวอร์ภายในมีข้อผิดพลาดอะไร
หากคุณใช้งานเว็บไซต์ WordPress ปลั๊กอินจะทำได้ง่าย จากแดชบอร์ดของคุณ ให้เลือก Plugins > Installed Plugins แล้วปิดการใช้งานปลั๊กอินตัวแรก หากข้อผิดพลาดได้รับการแก้ไข คุณจะรู้ว่าปลั๊กอินนี้เป็นส่วนหนึ่งของปัญหา เปิดใช้งานปลั๊กอินแรกอีกครั้ง จากนั้นทำซ้ำกระบวนการปิดใช้งาน - เปิดใช้งานใหม่ทีละรายการสำหรับปลั๊กอินทั้งหมดเพื่อพิจารณาว่าปลั๊กอินใดทำให้เกิดข้อผิดพลาดของคุณ
คุณอาจพบว่าการมีปลั๊กอินที่ใช้งานน้อยลงในไซต์ของคุณช่วยให้สิ่งต่างๆ ทำงานได้อย่างราบรื่นมากขึ้น
หรือหากคุณเพิ่งอัปเกรดซอฟต์แวร์ ปลั๊กอินหรือธีมปัจจุบันของคุณอาจเข้ากันไม่ได้กับการอัปเกรดใหม่ การปิดใช้งานปลั๊กอินหรือธีมทีละรายการจนกว่าข้อผิดพลาดจะหายไปเป็นวิธีที่ดีที่สุดในการหาสาเหตุของปัญหา
2. ใช้ปลั๊กอินเช่น WP Debugging เพื่อระบุปัญหา
หากไซต์ของคุณขับเคลื่อนโดย WordPress และคุณพอใจกับกระบวนการแก้ไขข้อบกพร่องของ WordPress ให้พิจารณาติดตั้งปลั๊กอินเพื่อช่วยคุณระบุปัญหากับเซิร์ฟเวอร์ของคุณ
ตัวอย่างเช่น ปลั๊กอินดีบัก WP Debugging ช่วยให้คุณทราบว่ามีอะไรผิดปกติกับไซต์ของคุณ ซึ่งจะส่งผลให้แก้ไขได้เร็วขึ้น
ที่มาของภาพ
3. ตรวจสอบให้แน่ใจว่าการตั้งค่า PHP ของคุณได้รับการกำหนดค่าอย่างถูกต้อง
หากปัญหาเกี่ยวข้องกับการหมดเวลาของ PHP ให้พิจารณาสร้างกฎการหมดเวลาหรือการจัดการข้อผิดพลาดในสคริปต์ของคุณเพื่อแก้ไขปัญหา นี่คือรายการทั้งหมดของคำสั่ง php.ini เพื่อกำหนดค่าการตั้งค่า PHP ของคุณ
นอกจากนี้ การอนุญาตที่ไม่ถูกต้องในไฟล์หรือโฟลเดอร์ที่มีสคริปต์ เช่น สคริปต์ PHP หรือ CGI จะไม่อนุญาตให้สคริปต์ทำงาน ตรวจสอบสิทธิ์ของคุณและตรวจสอบว่าคุณตั้งค่าอย่างถูกต้องบนเซิร์ฟเวอร์ของคุณ
4. ตรวจสอบรหัสสำหรับไฟล์ .htaccess ของเว็บไซต์ของคุณ
การเข้ารหัสหรือโครงสร้างที่ไม่เหมาะสมกับไฟล์ .htaccess ของคุณอาจเป็นสาเหตุให้คุณเห็นข้อผิดพลาดภายใน 500 ข้อ ไฟล์ .htaccess ช่วยคุณจัดการระยะเวลาที่ควรเก็บทรัพยากรในแคชของเบราว์เซอร์ ลองแก้ไขไฟล์หากคุณเห็นข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 รายการ
หากต้องการค้นหาไฟล์ .htaccess ของคุณ ให้เข้าถึงไฟล์เว็บไซต์ของคุณผ่านตัวจัดการไฟล์ เช่น cPanel หรือผ่าน FTP/SFTP ไฟล์อาจอยู่ในไดเรกทอรี public_html ของคุณ มีโอกาสดีที่เซิร์ฟเวอร์ของคุณจะซ่อนไฟล์นี้ไม่ให้มองเห็นโดยค่าเริ่มต้น และคุณจะต้องเปิดไฟล์ที่ซ่อนไว้จึงจะดูได้
ที่มาของภาพ
ข้อผิดพลาดในการเข้ารหัสใน .htaccess และสคริปต์ที่กำหนดเองอาจทำให้เกิดข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500
5. ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ใหม่ของคุณได้รับการติดตั้งอย่างถูกต้อง
สุดท้าย ให้ตรวจดูว่าซอฟต์แวร์ที่เพิ่งติดตั้งหรืออัปเกรดของคุณไม่สามารถติดตั้งหรืออัปเกรดได้จริงหรือไม่ หากต้องการรีเฟรชซอฟต์แวร์ของคุณ ให้ตรวจสอบเว็บไซต์ของผู้ขายเพื่อดูคำแนะนำ
ทางเลือกสุดท้าย: ขอความช่วยเหลือจากผู้ดูแลระบบเซิร์ฟเวอร์
หากการแก้ไขปัญหาซอฟต์แวร์ยอดนิยมหรือการดีบักสคริปต์ฝั่งเซิร์ฟเวอร์ไม่สามารถแก้ไขข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500 ได้ คุณควรอ่านเกี่ยวกับสาเหตุที่พบบ่อยที่สุดสำหรับปัญหาประเภทนี้ในเอกสารประกอบของเซิร์ฟเวอร์ของคุณ — ข้อผิดพลาดเซิร์ฟเวอร์ภายใน HTTP 500 สามารถเกิดขึ้นได้ในลักษณะต่างๆ ระบบปฏิบัติการด้วยเหตุผลหลายประการ
คุณยังขอให้ผู้ให้บริการเข้าถึงบันทึกข้อผิดพลาดและค้นหาหลักฐานที่เป็นสาเหตุของปัญหาได้
ข้อผิดพลาดภายในของเซิร์ฟเวอร์ทำให้เกิดความรำคาญเนื่องจากไม่มีประโยชน์ — โดยพื้นฐานแล้วเป็นวิธีการของเว็บเซิร์ฟเวอร์ที่พูดว่า “เอ๊ะ ฉันไม่แน่ใจ” หวังว่าหนึ่งในขั้นตอนข้างต้นจะแก้ปัญหาได้ เพื่อให้คุณกลับมาใช้ชีวิตได้ตามปกติ
หมายเหตุบรรณาธิการ: โพสต์นี้เผยแพร่ครั้งแรกในเดือนตุลาคม 2018 และได้รับการอัปเดตเพื่อความครอบคลุม