PHP Version: อัปเกรด PHP ให้เว็บ WordPress อย่างปลอดภัย

อัปเกรด PHP Version ของเว็บ WordPress โดยไม่ล่ม เลือกรุ่นที่ยังได้แพตช์ อัปเดตปลั๊กอินก่อน ทดสอบบน Staging อ่าน debug.log สลับในแผงควบคุม และย้อนกลับได้ทันที

โดย ทีมงาน THAI DATA CLOUD อัปเดต อ่าน 9 นาที

แชร์FacebookXLINELinkedIn
PHP Version — PHP Version: อัปเกรด PHP ให้เว็บ WordPress อย่างปลอดภัย
PHP Version: อัปเกรด PHP ให้เว็บ WordPress อย่างปลอดภัย

คำตอบสั้น ๆ: อัปเกรด PHP Version ของเว็บ WordPress โดยไม่ล่ม เลือกรุ่นที่ยังได้แพตช์ อัปเดตปลั๊กอินก่อน ทดสอบบน Staging อ่าน debug.log สลับในแผงควบคุม และย้อนกลับได้ทันที

คู่มือนี้อธิบาย PHP Version ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย

PHP Version ที่ใช้รันเว็บ WordPress มีผลโดยตรงต่อความปลอดภัย ความเร็ว และการทำงานของปลั๊กอิน PHP แต่ละรุ่นได้รับแพตช์ความปลอดภัยเป็นระยะเวลาจำกัด เมื่อหมดระยะแล้ว ช่องโหว่ที่พบใหม่จะไม่ถูกแก้อีก ขณะเดียวกันการกระโดดไปรุ่นใหม่โดยไม่เตรียมตัวมักทำให้ปลั๊กอินหรือธีมเก่าพัง เว็บขึ้นข้อความ There has been a critical error

คู่มือนี้เหมาะกับเจ้าของเว็บและผู้ดูแล WordPress บนโฮสติ้งที่มีแผงควบคุมอย่าง Plesk หรือ DirectAdmin รวมถึงเซิร์ฟเวอร์ที่ดูแลเอง เมื่อทำครบ คุณจะรู้ว่าควรขึ้นไปรุ่นใด มีข้อมูลสำรองที่กู้คืนได้ ทดสอบบน Staging แล้ว สลับเว็บจริงในช่วงที่คนใช้น้อย และมีแผนย้อนกลับที่ทำได้ในไม่กี่นาที

ลำดับการอัปเกรด PHP Version ของ WordPress ตั้งแต่สำรองข้อมูล อัปเดตปลั๊กอิน ทดสอบบน Staging สลับเว็บจริง และย้อนกลับ
อัปเดตปลั๊กอินก่อนเปลี่ยน PHP เสมอ และทดสอบบน Staging ก่อนแตะเว็บจริง

สิ่งที่ต้องเตรียม (PHP Version)

  • บัญชีผู้ดูแล WordPress และสิทธิ์เปลี่ยน PHP ในแผงควบคุมโฮสติ้งหรือบนเซิร์ฟเวอร์
  • ข้อมูลสำรองทั้งไฟล์และฐานข้อมูลที่ทดสอบแล้วว่ากู้คืนได้ (ดูตั้ง UpdraftPlus สำรองอัตโนมัติ)
  • เว็บ Staging ที่เปลี่ยน PHP แยกจากเว็บจริงได้ (ดูสร้างเว็บทดสอบ (Staging))
  • รายชื่อปลั๊กอินและธีมทั้งหมด รวมถึงโค้ดที่เขียนเองใน child theme หรือปลั๊กอินเฉพาะของบริษัท

ขั้นตอนที่ 1: ดู PHP Version ปัจจุบันและเลือกรุ่นเป้าหมาย

ในหลังบ้านไปที่ Tools > Site Health แท็บ Info เปิดหัวข้อ Server จะเห็น PHP version ที่เว็บใช้อยู่ ถ้ารุ่นเก่าเกินไป แท็บ Status จะขึ้นคำแนะนำให้อัปเดตด้วย

เลือกรุ่นเป้าหมายจากสองเงื่อนไข หนึ่ง ยังได้รับแพตช์จากโครงการ PHP สอง WordPress และปลั๊กอินที่ใช้รองรับแล้ว ณ เดือนตุลาคม 2026 PHP 8.2 และ 8.3 อยู่ในช่วงแก้เฉพาะความปลอดภัย (8.2 สิ้นสุด 31 ธันวาคม 2026) ส่วน 8.4 และ 8.5 ยังอยู่ในช่วงพัฒนาเต็มรูปแบบ WordPress แนะนำ PHP 8.3 ขึ้นไป สำหรับเว็บส่วนใหญ่ 8.3 หรือ 8.4 เป็นจุดที่สมดุลระหว่างอายุการสนับสนุนกับความพร้อมของปลั๊กอิน

ตารางสถานะการสนับสนุน PHP Version 8.2 ถึง 8.5 วันสิ้นสุด active support และ security support ตามตารางของ php.net
ข้อมูลจาก php.net/supported-versions ณ ตุลาคม 2026 รุ่นที่ไม่อยู่ในตารางไม่ได้รับแพตช์แล้ว

ขั้นตอนที่ 2: สำรองข้อมูลเต็มก่อนแตะอะไร (PHP Version)

สำรองทั้งไฟล์และฐานข้อมูลแล้วเก็บสำเนาไว้นอกเซิร์ฟเวอร์ การเปลี่ยน PHP Version เองไม่ได้แก้ข้อมูล แต่ขั้นตอนต่อไปคือการอัปเดตปลั๊กอินจำนวนมาก ซึ่งบางตัวแก้โครงสร้างฐานข้อมูลตอนอัปเดต ถ้าพังกลางทาง คุณต้องย้อนได้ทั้งเว็บ

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

การแก้ให้รองรับ PHP รุ่นใหม่มักมาในรุ่นอัปเดตของปลั๊กอินและธีม จึงต้องอัปเดตให้ครบก่อนเปลี่ยน PHP Version ไม่ใช่หลัง ลบปลั๊กอินที่ปิดใช้งานทิ้ง เพราะไฟล์ของมันยังถูกโหลดได้ในบางกรณีและเป็นช่องโหว่

เปิดหน้าปลั๊กอินแต่ละตัวบน WordPress.org ดูค่า Requires PHP และวันที่อัปเดตล่าสุด ปลั๊กอินที่ไม่ได้อัปเดตนานหลายปีเป็นผู้ต้องสงสัยอันดับแรก ให้หาตัวทดแทนไว้ก่อน ส่วนปลั๊กอินแบบเสียเงินที่ไม่ได้มาจาก WordPress.org ให้ตรวจ changelog ของผู้พัฒนาหรือสอบถามโดยตรง

ขั้นตอนที่ 4: ตรวจโค้ดที่เขียนเองล่วงหน้า

ปลั๊กอิน PHP Compatibility Checker ที่หลายบทความแนะนำ ปัจจุบันเลิกพัฒนาแล้วและตรวจได้ถึง PHP 8.0 เท่านั้น จึงไม่ควรใช้ตัดสินใจ สำหรับธีมหรือปลั๊กอินที่เขียนเอง นักพัฒนาสามารถสแกนด้วย PHP_CodeSniffer กับมาตรฐาน PHPCompatibilityWP ได้ (รุ่นที่ครอบคลุม PHP 8.x ยังเป็น alpha ผลจึงไม่ครบทุกกรณี)

vendor/bin/phpcs -p wp-content/themes/example-child --standard=PHPCompatibilityWP --runtime-set testVersion 8.3-

การสแกนช่วยหาฟังก์ชันที่ถูกถอดออกล่วงหน้า แต่ไม่แทนการทดสอบจริงในขั้นตอนถัดไป

ขั้นตอนที่ 5: ทดสอบบน Staging ด้วย PHP รุ่นใหม่

เปลี่ยน PHP ของเว็บ Staging เป็นรุ่นเป้าหมาย แล้วเปิดบันทึกข้อผิดพลาดใน wp-config.php ของ Staging โดยไม่แสดงบนหน้าเว็บ (รายละเอียดดูแก้ปัญหา critical error ด้วย WP_DEBUG)

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

เปิดทุกหน้าที่สำคัญ ได้แก่ หน้าแรก บทความ การค้นหา ฟอร์มติดต่อ ตะกร้าและการชำระเงิน หน้าหลังบ้านที่ใช้บ่อย และงานตั้งเวลา จากนั้นอ่านไฟล์ wp-content/debug.log ข้อความ Fatal error ต้องแก้ก่อนขึ้นเว็บจริงทุกตัว ส่วน Deprecated ยังไม่ทำให้เว็บพังแต่เป็นสัญญาณว่าจะพังในรุ่นถัดไป ตรวจ Site Health ด้วยว่าไม่มี PHP module ที่จำเป็นขาดหายในรุ่นใหม่ เช่น imagick หรือ intl

หน้าจอเทอร์มินัลแสดง debug.log ของ WordPress หลังเปลี่ยน PHP Version มี Fatal error จากปลั๊กอินเก่าและ Deprecated เรื่อง dynamic property
Fatal error ต้องแก้ก่อนขึ้นเว็บจริง ส่วน Deprecated คือสัญญาณเตือนสำหรับรุ่นถัดไป

ขั้นตอนที่ 6: เปลี่ยน PHP Version ของเว็บจริง

เลือกช่วงที่คนใช้น้อย แล้วเปลี่ยนในแผงควบคุมที่ใช้อยู่

  • Plesk: Websites & Domains เลือกโดเมน เปิด PHP (PHP Settings) แล้วเลือก PHP version ที่ต้องการ (ดูการเปลี่ยน PHP Version บน Plesk)
  • DirectAdmin: เลือกเวอร์ชันต่อโดเมนจากหน้า Domain Setup ของโดเมนนั้น โดยผู้ดูแลเซิร์ฟเวอร์ต้องติดตั้งหลายรุ่นไว้ก่อน (ดูCustomBuild บน DirectAdmin)
  • เซิร์ฟเวอร์ที่ดูแลเอง: ติดตั้ง PHP-FPM รุ่นใหม่คู่กับรุ่นเดิม แล้วเปลี่ยน socket ใน Nginx หรือ Apache (ดูติดตั้ง PHP หลายเวอร์ชันบน Ubuntu)

ค่าที่เคยปรับไว้ เช่น memory_limit และ upload_max_filesize มักผูกกับแต่ละรุ่น เมื่อเปลี่ยนรุ่นแล้วให้ตรวจและตั้งใหม่ให้เท่าเดิม

ขั้นตอนที่ 7: ตรวจหลังเปลี่ยนและย้อนกลับถ้าจำเป็น

เปิดเว็บทันทีหลังเปลี่ยน ตรวจ Site Health ว่าแสดงรุ่นใหม่ ไล่หน้าสำคัญชุดเดียวกับตอนทดสอบ และดูบันทึกข้อผิดพลาดของเว็บอีกหนึ่งถึงสองวัน ถ้าเว็บพังหรือฟังก์ชันสำคัญใช้ไม่ได้ ให้สลับ PHP กลับเป็นรุ่นเดิมในแผงควบคุมทันที ซึ่งมีผลเกือบทันที แล้วกลับไปแก้บน Staging ก่อนลองใหม่ การย้อน PHP ไม่กระทบข้อมูล ต่างจากการกู้คืนข้อมูลสำรองที่ทำให้ข้อมูลใหม่หาย

รายการตรวจสอบก่อนเปลี่ยน PHP Version ของเว็บ WordPress จริง เช่น สำรองข้อมูล ทดสอบ Staging และไม่มี Fatal error
ข้อที่เป็นสีแดงคือเหตุผลให้หยุดและกลับไปแก้บน Staging ก่อน

ปัญหาที่พบบ่อยเกี่ยวกับ PHP Version

เปลี่ยนแล้วเว็บขึ้น There has been a critical error ต้องทำอย่างไร?

สลับ PHP กลับเป็นรุ่นเดิมก่อนเพื่อให้เว็บกลับมา จากนั้นดูบันทึกข้อผิดพลาดหรืออีเมลโหมด Recovery ที่ WordPress ส่งให้ผู้ดูแล ซึ่งบอกชื่อปลั๊กอินหรือธีมที่ทำให้พัง แก้ด้วยการอัปเดตหรือเปลี่ยนตัวนั้นบน Staging แล้วจึงลองใหม่

ควรเลือก PHP รุ่นล่าสุดทันทีที่ออกเลยหรือไม่?

ไม่จำเป็น รุ่นที่เพิ่งออกอาจมีปลั๊กอินบางตัวยังไม่พร้อม ให้เลือกรุ่นที่ทั้ง WordPress และปลั๊กอินที่ใช้รองรับ และยังมีระยะการสนับสนุนเหลือยาวพอ แล้ววางรอบทบทวนปีละครั้ง

จาก PHP 7.4 ข้ามไป 8.3 ได้เลยหรือไม่?

ได้ แต่เป็นการเปลี่ยนครั้งใหญ่ เพราะ PHP 8.0 ถอดฟังก์ชันเก่าหลายตัวออก เช่น create_function และ 8.2 เริ่มเตือนเรื่อง dynamic property ให้ทดสอบบน Staging อย่างละเอียดเป็นพิเศษ ถ้าพบปัญหามากอาจขึ้นทีละรุ่นเพื่อแยกสาเหตุให้ง่าย

ทำไมเปลี่ยนรุ่นแล้วค่า memory_limit กลับเป็นค่าเริ่มต้น?

แผงควบคุมส่วนใหญ่เก็บการตั้งค่า PHP แยกตามรุ่น เมื่อสลับรุ่นจึงได้ค่าเริ่มต้นของรุ่นใหม่ ให้ตั้งค่าใหม่ในหน้าตั้งค่า PHP ของโดเมน (ดูปรับค่า PHP บน Plesk)

ถ้าไม่อยากเสี่ยงอัปเกรดเอง หรือต้องการโฮสต์ที่เลือก PHP ได้หลายรุ่น ดู Cloud WordPress Hosting หรือ ติดต่อทีมงาน THAI DATA CLOUD ข้อกำหนดล่าสุดดูได้ที่หน้า Requirements ของ WordPress และตาราง Supported Versions ของ PHP

อ่านเพิ่มเติมเกี่ยวกับ PHP Version

แชร์FacebookXLINELinkedIn

มีคำถามเรื่องบริการ? ติดต่อทีมงาน