วิธีการแก้ไขปัญหา 500 Internal Server Error
94 | | | การแก้ไขปัญหา, ความรู้, โดเมนและโฮสติ้ง
บทความวันนี้เราจะมาแนะนำถึงวิธีการแก้ไขปัญหา 500 Internal Server Error กันนะครับ ว่าเมื่อเราเจอปัญหานี้แล้วมันคืออะไร และมีวิธีการแก้ไขปัญหาอย่างไรกันครับ โดยผมจะยกตัวอย่างการแก้ไขปัญหากับเว็บที่ติดตั้งใน Localhost ที่ใช้ WAMP เป็นหลักนะครับ ไปดูกันเลย
Internal Server Error คืออะไร
Internal Server Error คือปัญหาที่เกิดจากระบบภายในมีปัญหาหรือมีการตั้งค่าที่ผิดพลาดทำให้เกิดการไม่ตอบสนองต่อการเรียกใช้งานดูเว็บไซต์ของเรา เมื่อมีการแจ้งเตือนลักษณะนี้ จะมีข้อความด้านล่างต่อมาว่า ให้เราทำการติดต่อผู้ดูแลระบบเพื่อทำการแก้ไข
เราสามารถทำการแก้ไขปัญหาดังกล่าวได้ด้วยตัวเอง ในกรณีที่เว็บของเราใช้งานแบบ Localhost ในที่นี้ผมจะยกตัวอย่างการแก้ไขปัญหาเมื่อเราใช้งาน WAMP Server กันนะครับ
วิธีการแก้ไข Internal Server Error
- ให้เราทำการตรวจสอบเมนูโมดูลของ Apache ที่อยู่ใน WAMP Server ของเรา โดยไปที่ Apache > Apache Modules หาโมดูลที่ชื่อ Headers Module และ Rewrite Module ว่ามีการเปิดใช้งานหรือไม่ หากไม่มีเครื่องหมายถูกหน้าโมดูลนั้นๆ ให้เราทำการเปิดใช้งานครับ แล้วให้ทำการ Restart ตัว WAMP ของเราใหม่อีกครั้ง เพียงเท่านี้ก็จะสามารถเข้าสู่หน้าเว็บไซต์ได้แล้ว
- วิธีการที่สองนี้จะเป็นการเปิดใช้งานโมดุลเช่นเดียวกัน เพียงแต่ว่า เราจะต้องเข้าไปทำการแก้ไขในไฟล์ที่ชื่อว่า httpd.conf ครับ ภายในจะมีโค้ดที่เกี่ยวข้องกับ Rewrite Module และ Headers Module อยู่ให้เราทำการค้นหาบรรทัดดังกล่าวโดยเปิดโปรแกรม Editor ที่เรามี เช่น Notepad, Sublime Text 3 หรือ Visual Studio Code แล้วทำการค้นหา (Find) วิธีการแก้ไขคือ เราจะต้องทำการลบเครื่องหมาย # ออกจากหน้าบรรทัดนั้นๆ เพื่อทำการเปิดใช้งานโมดูลทั้ง 2 ตัวครับ
#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule headers_module modules/mod_headers.so
- ในกรณีที่ปัญหา Internal Error Server นั้น เกิดขึ้นเฉพาะบางหน้าที่เราไม่สามารถเข้าได้ ให้เราทำการตรวจสอบสิทธิการเข้าใช้งานไฟล์ (File Permission) ในไฟล์ที่เราเข้าไม่ถึงนั้น และให้เปลี่ยนสิทธิการเข้าถึง (File Permission) เป็นการอ่านและเขียน (Read/Write) ครับ
- หากเรายังแก้ปัญหาไม่ได้ ให้เราเปิดไปดูในโฟลเดอร์ของ WAMP เราอาจจะพบไฟล์ .htaccess อยู่ในตำแหน่งที่ไม่ควรจะอยู่ คือ อยู่นอกโปรเจคงานของเรา เช่น อยู่ในโฟลเดอร์ C://wamp64/www/.htaccess ซึ่งผิด มันควรจะอยู่ในโฟลเดอร์ C://wamp64/www/project/.htaccess แบบนี้มากกว่า ให้เราทำการลบไฟล์ที่ผิดออก ก็น่าจะเข้าได้แล้วครับ
ถ้าปัญหานี้เกิดที่เว็บจริงละจะทำอย่างไร ให้เราเข้าไปใน Control Panel แล้วดูว่าเราสามารถทำการแก้ไขตามข้อด้านบนได้หรือไม่ หากได้ก็ให้ทำการแก้ไข แต่ถ้าไม่ได้ก็ให้ติดต่อกับบริษัทโฮสติ้งที่ดูแลเราอยู่ได้เลยครับ สำหรับโฮสติ้งแนะนำที่ช่วยในการแก้ไขปัญหาได้ดีก็คือ Hostatom ตามรูปด้านล่างครับ