500 Internal Server Error หรือ เกิดข้อผิดพลาดร้ายแรงบนเว็บไซต์นี้ เกิดได้จากหลากหลายสาเหตุ ยกตัวอย่างเช่น
- ไฟล์ .htaccess มีปัญหา
- ไฟล์ Code Plugin หรือ Theme ไม่สมบูรณ์ หรือติด Bug
- ตัว WordPress มีปัญหา
- เซิร์ฟเวอร์โหลดหนักเกินไป
- PHP Memory Limit ไม่เพียงพอ
ซึ่งปัญหานั้นเกิดขึ้นจาก Theme, Plugin หรือตัว WordPress เองทำงานหนักจน PHP Memory ที่ให้มาไม่เพียงพอต่อการประมวลผล เมื่อเทียบกับบนคอมพิวเตอร์ของเรา เหมือน RAM เต็มและทำงานต่อไปไม่ได้ โดยจะทำงานต่อได้เมื่อโปรแกรมกินแรมน้อยลงนั่นเอง (PHP Memory ไม่เกี่ยวอะไรกับ RAM ของตัว Server ที่ใช้รันเว็บ)
จะมีวิธีการแก้ไขอยู่ 5 วิธี ซึ่งจะเป็นการไล่ตรวจเช็คไปเรื่อย ๆ แต่หากทำถึงวิธีใดแล้ว ข้อผิดพลาด 500 Internal Error Server หายไป ก็ไม่จำเป็นจะต้องทำวิธีอื่น ๆ ซึ่งจะมีวิธีการดังนี้
1. ให้เราทำการตรวจสอบเมนูโมดูลของ Apache ที่อยู่ใน WAMP Server ของเรา โดยไปที่ Apache > Apache Modules หาโมดูลที่ชื่อ Headers Module และ Rewrite Module ว่ามีการเปิดใช้งานหรือไม่ หากไม่มีเครื่องหมายถูกหน้าโมดูลนั้น ๆ ให้เราทำการเปิดใช้งาน แล้วให้ทำการ Restart ตัว WAMP ของเราใหม่อีกครั้ง เพียงเท่านี้ก็จะสามารถเข้าสู่หน้าเว็บไซต์ได้แล้ว
2. เปิดใช้งานโมดูลเช่นเดียวกัน เพียงแต่ว่า เราจะต้องเข้าไปทำการแก้ไขในไฟล์ที่ชื่อว่า httpd.conf แทน ภายในจะมี Code ที่เกี่ยวข้องกับ Rewrite Module และ Headers Module อยู่ ให้เราทำการค้นหาบรรทัดดังกล่าว โดยเปิดโปรแกรม Editor ที่เรามี เช่น Notepad, Sublime Text 3 หรือ Visual Studio Code แล้วทำการค้นหา (Find) วิธีการแก้ไขคือ เราจะต้องทำการลบเครื่องหมาย # ออกจากหน้าบรรทัดนั้น ๆ เพื่อทำการเปิดใช้งานโมดูลทั้ง 2 ตัวนั่นเอง
3. ในกรณีที่ปัญหา 500 Internal Error Server นั้น เกิดขึ้นเฉพาะบางหน้าที่เราไม่สามารถเข้าได้ ให้เราทำการตรวจสอบสิทธิการเข้าใช้งานไฟล์ (File Permission) ในไฟล์ที่เราเข้าไม่ถึงนั้น และให้เปลี่ยนสิทธิการเข้าถึง (File Permission) เป็นการอ่านและเขียน (Read/Write) แทน
4. หากเรายังแก้ปัญหาไม่ได้ ให้เราเปิดไปดูในโฟลเดอร์ของ WAMP เราอาจจะพบไฟล์ .htaccess อยู่ในตำแหน่งที่ไม่ควรจะอยู่ คือ อยู่นอกโปรเจคงานของเรา เช่น อยู่ในโฟลเดอร์ C://wamp64/www/.htaccess ซึ่งผิด มันควรจะอยู่ในโฟลเดอร์ C://wamp64/www/project/.htaccess แบบนี้มากกว่า ให้เราทำการลบไฟล์ที่ผิดออก ก็จะทำให้สามารถใช้งานได้แล้ว
5. สำหรับใครที่ใช้เว็บโฮสติ้งทั่วไป สามารถแจ้งทางผู้ให้บริการเว็บโฮสติ้งให้เพิ่ม PHP Memory Limit ให้ได้ แต่จะเพิ่มได้เท่าไหร่นั้น ก็ขึ้นกับนโยบายของผู้ให้บริการเว็บโฮสติ้งของเรา บางเจ้าให้มาค่าเริ่มต้นเพียง 64MB ซึ่งบางทีไม่พอต่อการใช้งาน แต่ก็สามารถขอให้เพิ่มให้เป็น 128MB, 256MB, 512MB ซึ่งเท่านี้ ก็จะช่วยแก้ไข 500 Internal server error ลงไปได้ แต่หากใครมี Server เป็นของตัวเอง หรือเช่า VPS เราก็ต้องเพิ่มด้วยตนเอง โดยแก้ไฟล์ php.ini แล้วแก้จำนวน Limit เอา
ขอบคุณครับ ความรู้เลย
![wanwan022](http://www.thaiseoboard.com/Smileys/default/wanwan022.gif)