WordPress Error & Recovery

PHP Version ไม่รองรับ ทำให้ WordPress Error ได้อย่างไร

PHP Version ไม่รองรับ ทำให้ WordPress Error ได้อย่างไร

PHP คือภาษาโปรแกรมที่ WordPress ทำงานอยู่บน — ถ้าเวอร์ชัน PHP บนเซิร์ฟเวอร์ไม่รองรับ WordPress หรือปลั๊กอินที่ติดตั้ง ผลลัพธ์คือเว็บล่ม ขึ้น error กลางหน้าจอ หรือฟีเจอร์บางส่วนทำงานผิดปกติโดยไม่มีสัญญาณเตือนล่วงหน้า ปัญหานี้พบบ่อยมากในช่วงที่โฮสต์อัปเกรด PHP โดยอัตโนมัติ หรือเมื่อย้ายเว็บไปเซิร์ฟเวอร์ใหม่ที่ใช้ PHP ต่างเวอร์ชัน

อาการที่มักเกิดขึ้นเมื่อ PHP ไม่รองรับ

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

อาการที่พบบ่อยที่สุดได้แก่:

  • 500 Internal Server Error — หน้าเว็บไม่โหลด ขึ้นหน้าขาวหรือหน้า error ของโฮสต์ (WordPress Error 500 เกิดจากอะไร และวิธีแก้ทีละขั้นตอน)
  • White Screen of Death — หน้าจอขาวสนิท ไม่มีข้อความอะไรเลย อาจเกิดจาก PHP syntax error ที่ถูกซ่อนไว้ (WordPress หน้าจอขาว (White Screen) แก้ยังไง)
  • Critical Error หรือ Fatal Error — เช่น Fatal error: Uncaught Error: Call to undefined function หรือ Parse error: syntax error ซึ่งมักบอกว่าฟังก์ชันหรือ syntax ในเวอร์ชัน PHP ที่ใช้อยู่ไม่รองรับ
  • Admin เข้าไม่ได้ — หน้า wp-admin โหลดค้าง หรือขึ้น error หลังล็อกอิน
  • ปลั๊กอินหรือธีมทำงานผิดปกติ — บางฟีเจอร์หายไป หรือ PHP warning/notice โผล่ในหน้าเว็บ
สาเหตุหลัก: WordPress ตั้งแต่เวอร์ชัน 6.x ต้องการ PHP 7.4 ขึ้นไป และแนะนำ PHP 8.1–8.2 ขณะที่ปลั๊กอินรุ่นใหม่ส่วนใหญ่ต้องการ PHP 8.0+ หาก PHP ต่ำกว่าที่กำหนด หรือโฮสต์อัปเกรด PHP ข้ามเวอร์ชันโดยไม่แจ้งให้ทราบ เว็บจะพังทันที

วิธีตรวจสอบเวอร์ชัน PHP ที่ใช้อยู่

มีหลายวิธีตรวจสอบเวอร์ชัน PHP โดยไม่ต้องเดา:

  • จาก cPanel หรือ Hosting Control Panel — โฮสต์ส่วนใหญ่มีเมนู “PHP Version” หรือ “Select PHP Version” ให้ดูและเปลี่ยนได้ตรงนั้น
  • จาก WordPress Admin (Site Health) — ไปที่ Tools → Site Health → Info → Server จะแสดง PHP version ที่ใช้งานอยู่
  • สร้างไฟล์ phpinfo — อัปโหลดไฟล์ชื่อ phpinfo.php มีเนื้อหาว่า <?php phpinfo(); ?> เข้าไปที่ root ของเว็บ แล้วเปิด yoursite.com/phpinfo.php จะเห็น PHP version เต็ม ๆ (ลบไฟล์นี้ออกหลังใช้งานทันที)
  • ดู Error Log — ใน cPanel ไปที่ Error Logs หรือดูไฟล์ error_log ใน root โฟลเดอร์ หาก PHP ไม่รองรับจะมีบรรทัด PHP Fatal error พร้อมชื่อไฟล์และบรรทัดที่พัง

วิธีแก้ไข PHP Version ทีละขั้นตอน

สำรองข้อมูลและดูแล WordPress — WP Doctor Thailand
สำรองข้อมูล WordPress ทั้งไฟล์และฐานข้อมูลก่อนแก้ไข

เมื่อระบุได้แล้วว่าปัญหาเกิดจาก PHP ให้ทำตามขั้นตอนนี้:

ขั้นที่ 1: ตรวจสอบความต้องการของ WordPress และปลั๊กอิน

ดูหน้า WordPress Requirements ว่าต้องการ PHP เวอร์ชันอะไร แล้วเช็คปลั๊กอินสำคัญในเว็บว่าต้องการ PHP เวอร์ชันอะไร เลือก PHP เวอร์ชันที่ตรงกลางที่รองรับทั้งหมด — โดยทั่วไป PHP 8.1 คือตัวเลือกที่ปลอดภัยและเสถียรที่สุดในปัจจุบัน

ขั้นที่ 2: เปลี่ยนเวอร์ชัน PHP ในโฮสต์

ใน cPanel ไปที่ Software → Select PHP Version แล้วเลือกเวอร์ชันที่ต้องการ กด Set as current จากนั้นทดสอบเว็บทันที บางโฮสต์ (เช่น SiteGround, WP Engine) ให้เปลี่ยนผ่านหน้า Dashboard ของโฮสต์โดยตรง หากโฮสต์ไม่มีตัวเลือกนี้ให้ติดต่อซัพพอร์ตโฮสต์

ขั้นที่ 3: ถ้าเปลี่ยน PHP แล้วยังพัง

ปัญหาอาจอยู่ที่ปลั๊กอินตัวใดตัวหนึ่งที่ไม่รองรับ PHP เวอร์ชันใหม่ ให้ปิดปลั๊กอินทั้งหมดก่อน โดยเปลี่ยนชื่อโฟลเดอร์ /wp-content/plugins/ เป็น /wp-content/plugins-bak/ ผ่าน FTP หรือ File Manager ใน cPanel จากนั้นเปิดปลั๊กอินทีละตัวจนพบตัวที่ขัดแย้ง — วิธีนี้คล้ายกับการแก้ Plugin Conflict

ขั้นที่ 4: อัปเดตปลั๊กอินและธีม

ปลั๊กอินหรือธีมที่ไม่ได้อัปเดตนานอาจเขียนด้วย syntax PHP เก่า ซึ่งไม่รองรับ PHP 8.x ให้อัปเดตทุกอย่างที่ค้างอยู่ทันทีหลังจากเว็บกลับมาใช้งานได้แล้ว

วิธีป้องกันปัญหา PHP Version ในอนาคต

  • ติดตามข่าว End-of-Life ของ PHP — ดูที่ php.net/supported-versions.php เพื่อรู้ว่าเวอร์ชันที่ใช้จะหมดการสนับสนุนเมื่อไหร่
  • ทดสอบบน Staging ก่อนอัปเกรด — ก่อนเปลี่ยน PHP เวอร์ชันในเว็บจริง ให้โคลนเว็บไปทดสอบบน staging environment ก่อนเสมอ
  • ใช้ Plugin ตรวจ PHP Compatibility — ปลั๊กอิน PHP Compatibility Checker จะสแกนโค้ดทุกตัวแล้วรายงานว่าตัวไหนไม่รองรับ PHP เวอร์ชันที่เลือก
  • ตั้งค่าให้โฮสต์แจ้งเตือนก่อนอัปเกรด — โฮสต์บางเจ้าอัปเกรด PHP อัตโนมัติ ให้เปิดการแจ้งเตือนหรือล็อคเวอร์ชัน PHP ที่ต้องการไว้
  • สำรองข้อมูลก่อนทุกครั้ง — ก่อนเปลี่ยน PHP เวอร์ชันต้องมี backup เสมอ เพื่อให้ roll back ได้ทันทีถ้าเว็บพัง

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

ถ้าคุณเปลี่ยน PHP เวอร์ชันแล้วยังไม่หาย หรือดู Error Log แล้วไม่เข้าใจว่า error ชี้ไปที่อะไร หรือแก้แล้วปลั๊กอินตัวสำคัญใช้ไม่ได้ นั่นคือสัญญาณว่าปัญหาอาจซับซ้อนกว่าแค่เวอร์ชัน PHP เช่น อาจเกิดจาก Critical Error ใน WordPress ร่วมด้วย หรือโค้ดปลั๊กอินเขียนไม่รองรับ PHP รุ่นใหม่จริง ๆ ซึ่งต้องแก้โค้ดโดยตรง ทีม WP Doctor Thailand บริการแก้ WordPress ล่ม / Error พร้อมตรวจสอบและแก้ให้ตรงจุดโดยไม่ทำให้ข้อมูลหาย

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

PHP เวอร์ชันไหนที่ WordPress แนะนำให้ใช้ในปัจจุบัน

WordPress แนะนำ PHP 8.1 หรือ 8.2 ซึ่งให้ทั้งความเร็วและความปลอดภัยสูงสุด ควรหลีกเลี่ยง PHP 7.x ที่หมด support แล้ว

โฮสต์อัปเกรด PHP อัตโนมัติ ทำให้เว็บพังได้ไหม

ได้ครับ บางโฮสต์อัปเกรด PHP โดยอัตโนมัติตามนโยบาย ถ้าปลั๊กอินหรือธีมไม่รองรับเวอร์ชันใหม่ เว็บจะพังทันที ควรเปิดการแจ้งเตือนจากโฮสต์ไว้เสมอ

เปลี่ยน PHP แล้วเว็บพังมากกว่าเดิม ต้องทำอย่างไร

ให้ roll back กลับไป PHP เวอร์ชันเดิมที่เว็บทำงานได้ก่อน จากนั้นใช้ PHP Compatibility Checker สแกนว่าปลั๊กอินหรือธีมตัวไหนไม่รองรับ แล้วอัปเดตหรือเปลี่ยนตัวแทนก่อนเปลี่ยน PHP อีกครั้ง

ดู PHP version จากที่ไหนได้บ้างถ้าเข้า admin ไม่ได้

สร้างไฟล์ phpinfo.php ที่มีเนื้อหา อัปโหลดผ่าน FTP ไปที่ root ของเว็บ แล้วเปิดผ่านบราวเซอร์ จะเห็น PHP version ทันที อย่าลืมลบไฟล์นี้ออกหลังใช้งาน

อ่านบทความหลักของหมวดนี้ WordPress Error 500 คืออะไร และแก้ไขอย่างไร

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

LINE ส่งปัญหา