วิธีแก้ 500 Internal Server Error บน WordPress

วิธีแก้ 500 Internal Server Error บน WordPress

สาเหตุ 500 Internal Server Error…

แก้ 500 Error

ป็นปัญหาโลกแตกครับ 500 Internal Server Error เกิดจาก 4 สาเหตุได้หลัก ๆ ครับ นั่นคือไฟล์ .htaccess มีปัญหา (ไฟล์ไม่สมบูรณ์หรือติดบั๊กนั่นเอง) ปลั๊กอินหรือธีมติดปัญหา หรือแม้กระทั่งตัว WordPress เอง

บางครั้ง 500 Internal Server Error ก็สามารถเกิดได้จากการที่ PHP Memory Limit ไม่เพียงพอครับ ปัญหาเกิดขึ้นจากธีม ปลั๊กอิน หรือตัวเวิร์ดเพรสเองทำงานหนักจน PHP Memory ที่ให้มาไม่เพียงพอต่อการประมวลผลครับ เทียบกับบนคอมพิวเตอร์ของเรา เหมือน RAM เต็มและทำงานต่อไม่ได้ครับ จะทำงานต่อได้เมื่อโปรแกรมกินแรมน้อยลงนั่นเอง (PHP Memory ไม่เกี่ยวอะไรกับ RAM ของตัว Server ที่ใช้รันเว็บนะครับ)

วิธีแก้ 500 Internal Server Error…

ปัญหานี้อาจลองเริ่มจากการเช็คว่าไฟล์ .htaccess มีปัญหาหรือเปล่านะครับ ใช้ FTP เชื่อมต่อไปที่เว็บของเรา แล้วในโฟลเดอร์ที่ติดตั้ง WordPress เปลี่ยนชื่อไฟล์ .htaccess เป็นอย่างอื่นดูครับ เช่น .htaccess_backup ก็ได้

ตำแหน่งไฟล์ .htaccess

เสร็จแล้วเข้าหลังบ้าน (wp-admin) ไปที่ ตั้งค่า (Settings) -> ลิ้งค์ถาวร (Permalink) ไม่ต้องแก้ไขอะไรแล้วกดบันทึก (Save) เลยครับ ข้อนี้สำคัญนะครับ ไม่งั้นจะเข้าหน้าอื่นๆ นอกจากหน้าแรกไม่ได้เลย

ลิ้งค์ถาวร -> บันทึกการเปลี่ยนแปลง

แต่ถ้าไม่หาย…

ให้ลองเข้าไปลึกลงไปอีก โดยเปลี่ยนชื่อโฟลเดอร์ plugins และ/หรือ themes ในโฟลเดอร์ wp-content เป็นอย่างอื่นครับ โดยก็ยังมีแยกย่อยลงไปอีก 2 วิธี

ปิด Theme/Plugin ทั้งหมด

โฟลเดอร์ plugins และ themes อยู่ใน wp-content

โดยเราจะเปลี่ยนชื่อโฟลเดอร์ plugins และ/หรือ themes เป็นอย่างอื่นครับ (คำแนะนำผมให้ลบตัว s ข้างหลังออกตัวเดียวพอเพื่อกันสับสน) การกระทำนี้เป็นการปิดการใช้งานธีมหรือปลั๊กอินครับ โดยการที่เราเปลี่ยนชื่อโฟลเดอร์ จะทำให้่ WordPress หาไฟล์ไม่เจอและปิดการใช้งาน theme/plugins ทั้งหมดโดยอัตโนมัติครับ เป็นการปิดทั้งหมดเลยนั่นเองแล้วมาไล่ดูกันว่าตัวไหนก่อปัญหา

ทีนี้ล็อกอินเข้ามาใน wp-admin แล้ว WordPress จะฟ้องว่าหา theme/plugins ไม่เจอและจะปิดการทำงานของมัน ทีนี้เราก็ใช้ ftp เปลี่ยนโฟลเดอร์ที่เราเปลี่ยนชื่อเปลี่ยนกลับเหมือนเดิมครับ เปลี่ยนโฟลเดอร์ธีมกลับเป็น themes และปลั๊กอินเป็น plugins

ทีนี้ก็ไล่เปิดการใช้งานธีม หรือปลั๊กอินดูทีละตัวแล้วกลับไปที่หน้าเว็บ แล้วลองกด Refresh หน้าเว็บดู แล้วดูครับว่าเปิดตัวไหน Refresh หน้าเว็บแล้วขึ้น 500 Error ตัวนั้นคือตัวปัญหาครับ ให้จัดการแก้ปัญหาต่อไป อาจลองอัพเกรดไปเวอร์ชั่นใหม่ ลองแก้ไขโค๊ดดูถ้าหากพัฒนาเอง หรือลบทิ้งแล้วหาตัวอื่นมาแทนครับ

ปิด Theme/Plugin บางตัว

ดังรูป ผมต้องการปิดปลั๊กอินชื่อ autodescription ผมจึงต้องเปลี่ยนชื่อปลั๊กอินตัวนั้นเป็นชื่ออื่น

บางทีก็ไม่จำเป็นต้องปิดหมดครับ ปิดแค่บางตัวที่เราสงสัย หรือรู้แน่ชัดว่าก่อปัญหาก็พอครับ ทำวิธีเดียวกันครับ คือเปลี่ยนชื่อโฟลเดอร์ แต่เป็นโฟลเดอร์ที่อยู่ในโฟลเดอร์ plugins หรือ themes แทนครับเข้าไปในโฟลเดอร์นั้น ๆ หาชื่อ ปลั๊กอิน/ธีม ที่คิดว่าก่อปัญหา แล้วเปลี่ยนชื่อได้เลย WordPress จะหาโฟลเดอร์ไม่เจอและปิดการทำงานครับ

เท่านี้ก็แก้ 500 Error ได้แล้ว แต่ถ้ายังไม่หาย…

ลบโฟลเดอร์ wp-admin และ wp-includes ทิ้งและอัพโหลดใหม่

สำคัญอย่ายุ่งกับ wp-content และไฟล์ wp-config.php

เข้าไปที่โฟลเดอร์ที่เก็บ WordPress ของเราและลบโฟลเดอร์ wp-admin และ wp-includes ออกไปครับ แล้วไปดาวน์โหลดจาก wordpress.org แตกไฟล์และอัพโหลด 2 โฟลเดอร์นั้นขึ้นไปใหม่ครับ

สำคัญคืออย่าเผลอลบ wp-content และ wp-config.php ออกไปนะครับ ถ้าลบออกแล้วปัญหาใหญ่เลย

หรือถ้ายังไม่หายอีก…

เพิ่ม PHP Memory Limit

อันนี้สำหรับท่านที่ใช้เว็บโฮสติ้งทั่วไปสามารถแจ้งทางผู้ให้บริการเว็บโฮสติ้งให้เพิ่มให้ได้นะครับ แจ้งเขาว่า“ผมต้องการเพิ่ม PHP Memory Limit หน่อยครับ เนื่องจากเว็บติด 500 Error เพราะ Memory Limit ไม่พอหลายครั้ง…”

แต่จะเพิ่มได้เท่าไหร่นั้นขึ้นกับนโยบายของผู้ให้บริการเว็บโฮสติ้งนะครับ บางเจ้าให้มาค่าเริ่มต้นเพียง 64MB ซึ่งบางทีไม่พอต่อการใช้งาน สามารถขอเขาเพิ่มให้เป็น 128MB, 256MB หรือถ้าโฮสไหนใจดีหน่อยให้ 512MB (ส่วนใหญ่ไม่มีหรอกครับ มากที่สุดเท่าที่เคยเจออยู่ที่ 256MB) เท่านี้ก็ไม่น่าติดปัญหาอะไรอีกแล้วครับ

แต่ถ้ามี Server เป็นของตัวเอง หรือเช่า VPS ผู้ใช้งานอาจต้องเพิ่มเองครับ โดยแก้ไฟล์ php.ini หา

php_memory_limit

แล้วแก้เอาได้ครับ

แต่ถ้ายังไม่หายอีก… มาหาเราได้เลยครับ MAKE2WEB ยินดีให้บริการ แก้ปัญหาเว็บไซต์

วิธีป้องกันไม่ให้เกิดขึ้นอีก

ปกติแล้วปัญหานี้เป็นแล้วไม่ค่อยเป็นอีกครับ ถ้าจัดการปิดหรือแก้ไขธีม/ปลั๊กอิน/สคริปต์ WordPress/PHP Memory Limit ที่เป็นปัญหาแล้ว ถ้าเป็นอีกให้ลองอ่านไฟล์ Log ดูเลยครับว่าเป็นเพราะอะไรอีก หรือไม่ก็แจ้งโฮสติ้งเลยครับ

sn0wiron

sn0wiron

Hello !

อ่านต่อ...

คอร์ส สอนสร้างเว็บ WORDPRESS

บทความล่าสุด

หมวดหมู่บทความ

หมวดหมู่

Facebook

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *