Server

500 Internal Server Error คืออะไร? และวิธีไล่หาสาเหตุทีละขั้น

อัปเดต 2026-08-23อ่าน ~9 นาที

คุณกดเข้าเว็บของตัวเอง แล้วเจอหน้าขาว ๆ ที่มีข้อความสั้น ๆ ว่า 500 Internal Server Error ไม่มีรายละเอียด ไม่มีคำใบ้ ไม่มีบรรทัดไหนบอกว่าไฟล์อะไรพัง — ความน่าหงุดหงิดของ error ตัวนี้อยู่ตรงนี้

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

500 Internal Server Error คืออะไร

HTTP status code ที่ขึ้นต้นด้วยเลข 5 ทุกตัวหมายถึง ฝั่งเซิร์ฟเวอร์เป็นฝ่ายมีปัญหา ไม่ใช่ฝั่งผู้ใช้ ส่วนเลข 500 โดยเฉพาะแปลว่า เซิร์ฟเวอร์เจอสถานการณ์ที่มันไม่รู้จะจัดการยังไง เลยตอบกลับด้วยรหัสกลาง ๆ ตัวนี้แทน

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

สิ่งที่ทำให้ 500 ต่างจาก error ตัวอื่นในกลุ่ม 5xx คือมันเป็นตัวที่กว้างที่สุด ถ้าเซิร์ฟเวอร์รู้ว่าปัญหาคืออะไรชัดเจนกว่านี้ มันจะตอบเป็นรหัสที่เจาะจงกว่า เช่น 502 เมื่อคุยกับเซิร์ฟเวอร์ปลายทางไม่ได้ หรือ 503 เมื่อบริการปิดชั่วคราว

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

ข้อความ 500 มีหลายหน้าตา แต่หมายถึงเรื่องเดียวกัน

คุณอาจเจอข้อความไม่เหมือนกันขึ้นกับว่าเว็บใช้ซอฟต์แวร์อะไร แต่ทั้งหมดนี้คือ error เดียวกัน

  • 500 Internal Server Error — ข้อความมาตรฐานของ Apache และ Nginx
  • HTTP Error 500 — รูปแบบที่ Windows Server กับ IIS มักแสดง
  • HTTP 500 — Internal Server Error — รูปแบบย่อที่บางเบราว์เซอร์แสดง
  • Error 500 หรือ The website cannot display the page — ข้อความที่บาง framework เขียนทับเอง
  • หน้าจอขาวเปล่า ๆ ไม่มีข้อความเลย — เกิดเมื่อ PHP ปิดการแสดง error ไว้ ตรวจได้จาก status code ในแท็บ Network ของ DevTools

สาเหตุที่พบบ่อย เรียงตามความน่าจะเป็น

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

สาเหตุพบบ่อยแค่ไหนสัญญาณที่สังเกตได้
โค้ดในเว็บมีข้อผิดพลาด (PHP fatal error)บ่อยที่สุดเพิ่งแก้โค้ด อัปเดตปลั๊กอิน หรือติดตั้งธีมใหม่แล้วพังทันที
ไฟล์ .htaccess เขียนผิดหรือมีคำสั่งที่โมดูลไม่รองรับบ่อยพังทั้งเว็บพร้อมกัน รวมถึงไฟล์รูปและ CSS
สิทธิ์ไฟล์ (permission) ตั้งผิดบ่อยเพิ่งอัปโหลดไฟล์ผ่าน FTP หรือย้ายโฮสต์มา
หน่วยความจำ (memory limit) ไม่พอปานกลางพังเฉพาะบางหน้าที่หนัก เช่น หน้ารายงานหรือหน้าค้นหา
เชื่อมต่อฐานข้อมูลไม่ได้ปานกลางพังทุกหน้าที่ต้องดึงข้อมูล แต่หน้าคงที่ยังเปิดได้
ตัวเว็บเซิร์ฟเวอร์หรือ PHP-FPM มีปัญหาน้อยเว็บอื่นบนเครื่องเดียวกันพังพร้อมกันหมด

ลำดับการไล่ตรวจที่เจอต้นตอเร็วที่สุด

อย่าเริ่มจากการเดาว่าอะไรพัง ให้เริ่มจากคำถามที่ตัดตัวเลือกออกได้มากที่สุดก่อน

  1. 1ถามตัวเองว่าเพิ่งเปลี่ยนอะไรไปหรือเปล่า — อัปเดตปลั๊กอิน แก้โค้ด อัปโหลดไฟล์ เปลี่ยนเวอร์ชัน PHP ถ้าใช่ ให้ย้อนสิ่งนั้นกลับก่อนเป็นอันดับแรก เพราะ 500 ที่เกิดทันทีหลังเปลี่ยนอะไรบางอย่าง มักเป็นผลจากสิ่งนั้นจริง ๆ
  2. 2เปิด error log ของเว็บเซิร์ฟเวอร์ — ขั้นนี้สำคัญที่สุดและคนข้ามบ่อยที่สุด log จะบอกไฟล์และบรรทัดที่พังตรง ๆ ทำให้ไม่ต้องเดาต่อ
  3. 3ทดสอบด้วยการเปลี่ยนชื่อไฟล์ .htaccess ชั่วคราว — ถ้าเปลี่ยนชื่อแล้วเว็บกลับมา แปลว่าปัญหาอยู่ในไฟล์นั้น ค่อยไล่เปิดทีละบรรทัดหาตัวที่ผิด
  4. 4ตรวจสิทธิ์ไฟล์และโฟลเดอร์ — ค่ามาตรฐานคือโฟลเดอร์ 755 และไฟล์ 644 ค่าที่กว้างเกินอย่าง 777 นอกจากจะไม่ปลอดภัยแล้ว เว็บเซิร์ฟเวอร์บางตัวยังปฏิเสธไม่ยอมรันให้ด้วย
  5. 5ปิดปลั๊กอินหรือส่วนเสริมทั้งหมด แล้วเปิดกลับทีละตัว — วิธีนี้ช้าแต่ได้คำตอบแน่นอนเมื่อ log ไม่ชัดพอ
  6. 6ลองเพิ่ม memory limit ชั่วคราว — ถ้าพังเฉพาะหน้าหนัก ๆ และเพิ่มแล้วหาย แปลว่าเจอต้นตอแล้ว แต่ควรกลับไปแก้ที่โค้ดที่กินหน่วยความจำผิดปกติด้วย ไม่ใช่เพิ่มค่าไปเรื่อย ๆ
💡 ถ้าเว็บเป็นเว็บที่มีคนเข้าอยู่ ให้เปิดโหมด maintenance หรือแก้ในเวลาที่คนน้อยที่สุด และสำรองไฟล์กับฐานข้อมูลก่อนแก้เสมอ

ดู error log ตรงไหน

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

สภาพแวดล้อมที่อยู่ของ log
cPanel / DirectAdminเมนู Errors หรือ Error Log ในหน้าควบคุม จะเห็นบรรทัดล่าสุดอยู่บนสุด
VPS ที่ใช้ Apacheปกติอยู่ที่ /var/log/apache2/error.log หรือ /var/log/httpd/error_log
VPS ที่ใช้ Nginxปกติอยู่ที่ /var/log/nginx/error.log และดู log ของ PHP-FPM ควบคู่ไปด้วย
Windows Server / IISดูที่ Event Viewer และเปิด Failed Request Tracing เพื่อเห็นรายละเอียดของคำขอที่พัง
WordPressเปิดโหมดบันทึก error แล้วอ่านไฟล์ debug.log ในโฟลเดอร์ wp-content
💡 อ่าน log จากบรรทัดล่างสุดขึ้นบน เพราะรายการใหม่จะต่อท้ายไฟล์ และให้เทียบเวลาใน log กับเวลาที่คุณกดเปิดหน้าเว็บ จะได้แน่ใจว่าอ่านบรรทัดที่ตรงกับเหตุการณ์จริง

500 บนแชร์โฮสติ้ง กับบน VPS แก้ต่างกันตรงไหน

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

บน VPS คุณเป็นเจ้าของเครื่องทั้งเครื่อง เข้าถึง log ได้ทุกไฟล์ ปรับค่า PHP รีสตาร์ตเซอร์วิส และย้อนการตั้งค่ากลับได้เอง ซึ่งย่นเวลาแก้ปัญหาลงมากเมื่อเจอ error ที่ไม่ได้เกิดจากโค้ดของเว็บโดยตรง

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

ถ้ายังไม่แน่ใจว่าสองแบบนี้ต่างกันตรงไหน อ่าน VPS กับ Web Hosting ต่างกันยังไง เพิ่มเติม และถ้าอยากเข้าใจว่าเบื้องหลังเซิร์ฟเวอร์ทำงานยังไง อ่าน Server คืออะไร ประกอบ

วิธีลดโอกาสเจอ 500 ในระยะยาว

  • ทดสอบการอัปเดตบนเครื่องทดสอบก่อนเสมอ อย่าอัปเดตปลั๊กอินหรือเวอร์ชัน PHP บนเว็บจริงตรง ๆ
  • เปิดระบบสำรองข้อมูลอัตโนมัติ และทดสอบกู้คืนจริงอย่างน้อยปีละครั้ง สำรองที่กู้ไม่ได้ไม่ต่างจากไม่มีสำรอง
  • ตั้งระบบเฝ้าดูเว็บที่แจ้งเตือนเมื่อ status code ไม่ใช่ 200 คุณจะรู้ก่อนลูกค้าโทรมาบอก
  • เก็บสำเนา .htaccess ที่ใช้งานได้ไว้ เวลาลองแก้จะย้อนกลับได้ทันที
  • เฝ้าดูการใช้หน่วยความจำและ CPU ต่อเนื่อง ถ้าเห็นแนวโน้มเพิ่มขึ้นเรื่อย ๆ ให้ขยายสเปกก่อนจะพัง ไม่ใช่รอให้พังก่อน
  • อ่าน error log เป็นนิสัยแม้เว็บยังปกติ หลาย ๆ ปัญหาส่งสัญญาณเป็น warning มาก่อนที่จะกลายเป็น 500

อยากเข้าถึง log และแก้ปัญหาเองได้ทุกชั้น

VPS ของ Plusweb ให้สิทธิ์ควบคุมเครื่องเต็มรูปแบบ ดู error log ปรับค่า และรีสตาร์ตเซอร์วิสได้เอง ทีมงานคนไทยดูแล 24 ชม.

คำถามที่พบบ่อย

เจอ 500 Internal Server Error ในฐานะผู้เข้าชม ต้องทำยังไง

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

500 กับ 502 ต่างกันยังไง

500 คือเซิร์ฟเวอร์ที่รับคำขอเจอปัญหาเองระหว่างประมวลผล ส่วน 502 Bad Gateway คือเซิร์ฟเวอร์ตัวหน้าส่งคำขอต่อไปให้เซิร์ฟเวอร์ปลายทางแล้วได้คำตอบที่ผิดปกติกลับมา หรือไม่ได้คำตอบเลย จุดที่ต้องไปตรวจจึงคนละที่กัน

ทำไมบางครั้งเห็นหน้าจอขาวเปล่า แทนที่จะเป็นข้อความ 500

เกิดเมื่อ PHP ถูกตั้งไม่ให้แสดงข้อความ error ออกหน้าเว็บ ซึ่งเป็นค่าที่ถูกต้องสำหรับเว็บจริงเพื่อไม่ให้ข้อมูลภายในรั่ว วิธีตรวจคือเปิด DevTools ไปแท็บ Network แล้วดู status code ของคำขอแรก ถ้าเป็น 500 ก็คือ error ตัวเดียวกัน

แก้ด้วยการตั้งสิทธิ์ไฟล์เป็น 777 ได้ไหม

ไม่ควรอย่างยิ่ง 777 หมายถึงใครก็แก้ไฟล์นั้นได้ ซึ่งเสี่ยงต่อการถูกฝังโค้ดอันตราย และเว็บเซิร์ฟเวอร์หลายตัวก็ปฏิเสธไม่ยอมรันสคริปต์ที่สิทธิ์กว้างขนาดนั้นอยู่แล้ว ค่ามาตรฐานที่ควรใช้คือโฟลเดอร์ 755 และไฟล์ 644

เว็บขึ้น 500 นาน ๆ ครั้งแล้วหายเอง อันตรายไหม

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

GUIDES

บทความที่เกี่ยวข้อง

อ่านต่อในหัวข้อใกล้เคียง

ดูบทความทั้งหมด
502 Bad Gateway คืออะไร? เข้าใจว่าใครคุยกับใครไม่รู้เรื่อง
Server

502 Bad Gateway คืออะไร? เข้าใจว่าใครคุยกับใครไม่รู้เรื่อง

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

อ่านต่อ
403 Forbidden คืออะไร? เข้าใจว่าทำไมเซิร์ฟเวอร์ถึงไม่ยอมให้เข้า
Server

403 Forbidden คืออะไร? เข้าใจว่าทำไมเซิร์ฟเวอร์ถึงไม่ยอมให้เข้า

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

อ่านต่อ
Server คืออะไร? ทำงานยังไง มีกี่ประเภท ฉบับเข้าใจง่าย
Server

Server คืออะไร? ทำงานยังไง มีกี่ประเภท ฉบับเข้าใจง่าย

รวมทุกเรื่องที่มือใหม่ต้องรู้เกี่ยวกับ Server — เซิร์ฟเวอร์ คืออะไร ทำงานยังไง ประเภท server มีอะไรบ้าง ฮาร์ดแวร์ต่างจาก Virtual ตรงไหน และถ้าจะเช่าเซิร์ฟเวอร์ควรเลือกแบบไหนในปี 2026

อ่านต่อ