Case Study

ตัวอย่างเคส: WordPress Error 500 หลังอัปเดต Plugin

ตัวอย่างเคส: WordPress Error 500 หลังอัปเดต Plugin

หนึ่งในปัญหาที่เจ้าของเว็บ WordPress พบบ่อยที่สุดคือ Error 500 (Internal Server Error) ที่โผล่ขึ้นมาทันทีหลังกดอัปเดต Plugin — หน้าเว็บขาวโพลน หรือแสดงข้อความ 500 ทั้งไซต์ รวมถึง wp-admin ก็เข้าไม่ได้ เคสนี้เกิดขึ้นกับเว็บ WooCommerce ขนาดกลางที่ให้บริการลูกค้า B2C เจ้าของเว็บโทรมาหาทีมงานในช่วงเช้าตรู่ เพราะยอดขายหายไปทันทีนับตั้งแต่กดอัปเดต Plugin ชุดใหญ่เมื่อคืนที่แล้ว

nn

อาการที่พบในเคสนี้

n

เจ้าของเว็บรายงานอาการดังนี้

n

    n

  • หน้า Front-end แสดงหน้าขาวเปล่า หรือข้อความ 500 Internal Server Error ทุก URL
  • n

  • เข้า /wp-admin ไม่ได้ แสดง Error เช่นเดียวกัน
  • n

  • ลูกค้าไม่สามารถสั่งซื้อสินค้าได้ ยอดขายหยุดชะงัก
  • n

  • ไม่มี Error Message ปรากฏบนหน้าจอ (PHP Error reporting ถูกปิดไว้)
  • n

n

อาการเหล่านี้ชี้ชัดว่าเป็น PHP Fatal Error ระดับ Server ไม่ใช่แค่ปัญหาการแสดงผล การที่ wp-admin เข้าไม่ได้ด้วยแปลว่า WordPress Core เองโหลดไม่สำเร็จ

nn

กู้เว็บ WordPress กลับมาปกติ — WP Doctor Thailand
กู้เว็บ WordPress ให้กลับมาสะอาดและทำงานได้ตามปกติ

nn

สาเหตุที่แท้จริง: Plugin ขัดแย้งกันหลังอัปเดต

n

จากการตรวจสอบ PHP Error Log ใน cPanel (ไฟล์ error_log ที่ Root ของโฮสต์) พบข้อความ

n

    n

  • PHP Fatal error: Cannot redeclare function wc_get_product() in .../plugins/some-plugin/includes/functions.php on line 214
  • n

  • Plugin ที่อัปเดตได้ประกาศฟังก์ชันซ้ำกับ WooCommerce เวอร์ชันใหม่ที่อัปเดตพร้อมกัน
  • n

  • นอกจากนี้ยังพบว่า Plugin ตัวหนึ่งต้องการ PHP 8.1 ขึ้นไป แต่เซิร์ฟเวอร์ยังรัน PHP 7.4
  • n

n

ปัญหา WordPress Error 500 ประเภทนี้มักเกิดเมื่ออัปเดตหลาย Plugin พร้อมกันโดยไม่ทดสอบก่อน โดยเฉพาะเมื่อ Plugin ที่อัปเดตมีการเปลี่ยน PHP Version Requirement

nn

ขั้นตอนการแก้ไขที่ทีมดำเนินการ

n

ขั้นที่ 1: เปิด PHP Error Log และระบุ Plugin ต้นเหตุ

n

เข้าไปที่ cPanel → Error Logs หรือเปิดไฟล์ error_log โดยตรงผ่าน File Manager อ่าน Fatal Error บรรทัดล่าสุด แล้วจดชื่อไฟล์และ Plugin ที่ก่อปัญหา

nn

ขั้นที่ 2: ปิด Plugin ต้นเหตุผ่าน FTP/SFTP

n

เมื่อเข้า wp-admin ไม่ได้ ให้ใช้ FTP/SFTP เข้าไปที่โฟลเดอร์ wp-content/plugins/ แล้วเปลี่ยนชื่อโฟลเดอร์ของ Plugin ต้นเหตุ เช่น จาก some-plugin เป็น some-plugin_DISABLED WordPress จะมองว่า Plugin นั้นไม่มีอยู่และ Deactivate ให้อัตโนมัติ

nn

ขั้นที่ 3: ทดสอบว่าเว็บกลับมาแล้ว

n

โหลดหน้าเว็บอีกครั้ง ถ้าเว็บกลับมาปกติ แปลว่า Plugin นั้นคือต้นเหตุ จากนั้นเข้า wp-admin แล้วตรวจสอบ PHP Version ที่ Plugin กำหนด เทียบกับเวอร์ชันที่เซิร์ฟเวอร์รัน

nn

ขั้นที่ 4: แก้ไข PHP Version หรือเลือก Plugin เวอร์ชัน Compatible

n

ในเคสนี้ ทีมงานอัปเกรด PHP เป็น 8.1 ผ่าน cPanel → MultiPHP Manager แล้วเปิด Plugin กลับตามปกติ นอกจากนี้ยังลบ Plugin ตัวที่มีฟังก์ชันซ้ำออก แล้วติดตั้งเวอร์ชัน Compatible แทน เว็บกลับมาออนไลน์ภายใน 35 นาที

nn

บริการแก้ WordPress ล่ม / Error — WP Doctor Thailand
การวิเคราะห์และไล่หาต้นเหตุของ Error อย่างเป็นระบบ

nn

Key Takeaway: อย่าอัปเดต Plugin หลายตัวพร้อมกันบนเว็บ Production — ควรอัปเดตทีละตัว และตรวจสอบ PHP Version Requirement ก่อนเสมอ การมี Staging Site จะช่วยลดความเสี่ยงได้มาก

nn

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

n

    n

  • ตรวจสอบ Changelog ก่อนอัปเดต — อ่านว่า Plugin เวอร์ชันใหม่เปลี่ยนแปลงอะไร โดยเฉพาะ PHP Requirement
  • n

  • อัปเดตทีละตัว — อย่ากด “Update All” พร้อมกันบนเว็บจริง
  • n

  • สำรองข้อมูลก่อนอัปเดตทุกครั้ง — Backup ทั้ง Files และ Database ด้วย Plugin เช่น UpdraftPlus
  • n

  • ใช้ Staging Site — ทดสอบการอัปเดตบนสภาพแวดล้อมทดสอบก่อน แล้วค่อย Deploy ขึ้น Production
  • n

  • เปิด Maintenance Mode — แสดงหน้า “อยู่ระหว่างบำรุงรักษา” ให้ลูกค้าเห็น แทนที่จะเห็น Error 500
  • n

  • ตรวจสอบ PHP Error Log สม่ำเสมอ — ปัญหาหลายอย่างจะแสดงเป็น Warning ก่อน จะกลายเป็น Fatal Error
  • n

n

สำหรับเว็บ WooCommerce ที่มียอดขายทุกวัน ขอแนะนำให้อ่านบทความเพิ่มเติมเรื่อง WooCommerce Checkout ไม่ได้ และ เคสตัวอย่าง WooCommerce Webhook Error เพื่อเตรียมรับมือปัญหาที่อาจตามมา

nn

เมื่อไหร่ควรเรียกผู้เชี่ยวชาญ

n

หากคุณทำตามขั้นตอนข้างต้นแล้วยังแก้ไม่ได้ หรือไม่สะดวก Access ผ่าน FTP ควรเรียกผู้เชี่ยวชาญในกรณีเหล่านี้

n

    n

  • เว็บยังขาวหลังจาก Deactivate Plugin ทุกตัวแล้ว (อาจเป็นปัญหา Theme หรือ Core File เสียหาย)
  • n

  • ไม่สามารถเข้า FTP/cPanel ได้ หรือไม่มีสิทธิ์แก้ไข PHP Version
  • n

  • Error Log มีข้อความซับซ้อนที่ระบุ Database Error หรือ Memory Exhausted
  • n

  • เว็บ Down นานเกิน 30 นาที และมีผลต่อยอดขาย
  • n

n

ทีม WP Doctor Thailand พร้อมให้ความช่วยเหลือ สามารถดูรายละเอียดบริการได้ที่ บริการล้างไวรัส WordPress และการแก้ปัญหาเว็บฉุกเฉิน รวมถึงอ่านเพิ่มเติมเรื่อง Checklist ความปลอดภัย WordPress เพื่อเสริมความมั่นคงของเว็บในระยะยาว

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

WordPress Error 500 หลังอัปเดต Plugin แก้ยังไงได้เร็วที่สุด?

วิธีเร็วที่สุดคือเข้า FTP แล้วเปลี่ยนชื่อโฟลเดอร์ Plugin ที่อัปเดตล่าสุดใน wp-content/plugins/ เพื่อ Deactivate มัน จากนั้นโหลดเว็บอีกครั้ง ถ้าเว็บกลับมาแปลว่าพบต้นเหตุแล้ว

ถ้าเข้า wp-admin ไม่ได้เลย จะ Deactivate Plugin ยังไง?

ใช้ FTP หรือ File Manager ใน cPanel เข้าไปที่โฟลเดอร์ wp-content/plugins/ แล้วเปลี่ยนชื่อโฟลเดอร์ Plugin นั้น WordPress จะ Deactivate ให้อัตโนมัติโดยไม่ต้องเข้า wp-admin

Error 500 เกิดจาก PHP Version ได้ด้วยหรือ?

ได้ หาก Plugin เวอร์ชันใหม่กำหนดให้ใช้ PHP 8.x แต่เซิร์ฟเวอร์ยังรัน PHP 7.x อยู่ จะเกิด Fatal Error ทันที ตรวจสอบและอัปเกรด PHP Version ได้ผ่าน cPanel → MultiPHP Manager

ควรอัปเดต Plugin บ่อยแค่ไหนและควรทำอย่างไร?

ควรอัปเดตทุก 1–2 สัปดาห์ แต่ควรทำทีละตัว อ่าน Changelog ก่อน และสำรองข้อมูลทุกครั้งก่อนอัปเดต ถ้ามีเว็บ Staging ให้ทดสอบที่นั่นก่อนเสมอ

บทความอื่นในหมวดนี้

LINE ส่งปัญหา