ทำไมต้องเปลี่ยน PHP Version?
PHP เป็นภาษาโปรแกรมที่ WordPress ใช้ทำงาน เวอร์ชันของ PHP มีผลโดยตรงต่อความเร็ว ความปลอดภัย และความเข้ากันได้ของปลั๊กอิน หาก PHP เวอร์ชันของคุณเก่าเกินไป ปลั๊กอินหรือ WordPress เวอร์ชันใหม่ล่าสุดอาจทำงานผิดพลาด หรือขึ้นข้อความเตือนว่า "Your site is running an outdated version of PHP"
สาเหตุที่พบบ่อยที่ต้องเปลี่ยน PHP Version:
- WordPress แจ้งเตือนให้อัปเกรด PHP
- ปลั๊กอินต้องการ PHP 8.0 หรือสูงกว่า
- เว็บไซต์ทำงานช้า เพราะ PHP 7.x มีประสิทธิภาพต่ำกว่า PHP 8.x
- มีช่องโหว่ด้านความปลอดภัยใน PHP เวอร์ชันเก่า
- ต้องการใช้ฟีเจอร์ใหม่ของ PHP เช่น Named Arguments หรือ Fibers
PHP Version ไหนที่แนะนำสำหรับ WordPress?
ณ ปี 2026 WordPress รองรับ PHP ตั้งแต่เวอร์ชัน 7.4 ขึ้นไป แต่แนะนำให้ใช้:
- PHP 8.2 — แนะนำ: เร็วที่สุด เสถียร รองรับปลั๊กอินส่วนใหญ่
- PHP 8.1 — ดีมาก: เสถียรสูง เข้ากันได้กับปลั๊กอินทุกตัว
- PHP 8.3 — ใหม่ที่สุด: ใช้ได้แต่ควรทดสอบก่อน
- PHP 7.4 — หมดอายุแล้ว: ไม่แนะนำ ไม่มีการอัปเดตความปลอดภัย
วิธีเปลี่ยน PHP Version ผ่าน MultiPHP Manager
cPanel มีเครื่องมือชื่อ MultiPHP Manager ที่ช่วยให้เปลี่ยน PHP Version ได้โดยไม่ต้องพิมพ์คำสั่งใดๆ
- เข้าสู่ระบบ cPanel ของคุณ (โดยปกติ
yourdomain.com:2083) - ใน section Software ให้คลิก MultiPHP Manager
- จะเห็นรายการโดเมนและ subdomain ทั้งหมดในบัญชี พร้อม PHP Version ปัจจุบัน
- ติ๊กเลือก checkbox หน้าโดเมนที่ต้องการเปลี่ยน
- ที่ dropdown PHP Version ด้านบน ให้เลือก PHP version ที่ต้องการ เช่น PHP 8.2
- คลิกปุ่ม Apply
- รอสักครู่ ระบบจะแสดง "PHP version has been updated successfully"
วิธีตั้งค่า PHP สำหรับ Directory เฉพาะผ่าน MultiPHP INI Editor
นอกจาก MultiPHP Manager แล้ว cPanel ยังมี MultiPHP INI Editor ที่ใช้ปรับค่า php.ini เช่น memory_limit, upload_max_filesize โดยไม่ต้องแก้ไขไฟล์ด้วยตัวเอง
- ใน cPanel ค้นหาและคลิก MultiPHP INI Editor
- เลือกโดเมนหรือ directory ที่ต้องการ
- ปรับค่าที่ต้องการ เช่น:
- memory_limit: 256M (แนะนำสำหรับ WordPress)
- upload_max_filesize: 64M (สำหรับอัปโหลดไฟล์ใหญ่)
- max_execution_time: 300 (ป้องกัน timeout)
- post_max_size: 64M (ต้องไม่น้อยกว่า upload_max_filesize)
- คลิก Apply เพื่อบันทึก
; ค่าที่แนะนำสำหรับ WordPress ใน php.ini
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
date.timezone = Asia/Bangkok
เปลี่ยน PHP Version ผ่านไฟล์ .htaccess (ทางเลือก)
หากต้องการตั้งค่า PHP Version เฉพาะ directory หนึ่งๆ โดยไม่กระทบโดเมนหลัก สามารถเพิ่มบรรทัดนี้ใน .htaccess ได้:
# ตัวอย่างการตั้ง PHP version ใน .htaccess
# (ใช้ได้บน Shared Hosting ที่รองรับ)
AddHandler application/x-httpd-php82 .php
# หรือสำหรับ directory เฉพาะ
<FilesMatch "\.php$">
SetHandler application/x-httpd-php82
</FilesMatch>
ตรวจสอบว่า PHP Version ทำงานถูกต้อง
หลังเปลี่ยน PHP Version แล้ว ให้ตรวจสอบว่าเว็บไซต์ใช้ PHP Version ที่ถูกต้องจริงๆ ด้วยวิธีเหล่านี้:
# วิธีที่ 1: ดู PHP version ผ่าน WordPress Admin
# ไปที่ Tools > Site Health > Info > Server
# จะเห็น "PHP version: 8.2.x"
# วิธีที่ 2: สร้างไฟล์ phpinfo.php ทดสอบ
# สร้างไฟล์ phpinfo.php ใน public_html ด้วย File Manager
<?php phpinfo(); ?>
# เข้า yourdomain.com/phpinfo.php แล้วดูบรรทัดแรก
# ลบไฟล์นี้ทันทีหลังตรวจสอบเสร็จ
# วิธีที่ 3: ดูใน cPanel > MultiPHP Manager
# PHP Version ที่แสดงคือ version ที่ใช้งานอยู่จริง
แก้ปัญหาที่พบบ่อย
Error: "Parse error: syntax error" หลังอัปเกรด PHP
เกิดจากปลั๊กอินหรือธีมที่ใช้ syntax ของ PHP เวอร์ชันเก่า เช่น short tags <? แทน <?php วิธีแก้คือ:
- ปิดการใช้งานปลั๊กอินทีละตัวจนกว่าจะพบตัวที่มีปัญหา
- อัปเดตปลั๊กอินและธีมให้เป็นเวอร์ชันล่าสุด
- หากยังแก้ไม่ได้ ให้เปลี่ยน PHP กลับเวอร์ชันเดิมชั่วคราว
Error: "Fatal error: Call to undefined function" หลังเปลี่ยน PHP
ปลั๊กอินหรือธีมต้องการ PHP extension ที่ยังไม่ได้เปิดใช้งาน เช่น ext-gd, ext-curl แก้ได้ใน cPanel > MultiPHP INI Editor > เลือกโดเมน > ไปที่แท็บ Editor Mode แล้วเปิด extension ที่ต้องการ
Error: "White Screen of Death" หลังเปลี่ยน PHP
เว็บไซต์แสดงหน้าขาวทั้งหมด มักเกิดจากปลั๊กอินที่ไม่รองรับ PHP ใหม่ วิธีแก้:
- เข้า cPanel > File Manager > ไปที่โฟลเดอร์
wp-content/plugins - เปลี่ยนชื่อโฟลเดอร์
pluginsเป็นplugins_bakเพื่อปิดปลั๊กอินทั้งหมด - ทดสอบว่าเว็บกลับมาแล้วหรือไม่
- เปลี่ยนชื่อโฟลเดอร์กลับ แล้วปิดปลั๊กอินใน WordPress Admin ทีละตัว
Error: "Memory exhausted" หลังอัปเกรด PHP
ค่า memory_limit ต่ำเกินไป ให้เพิ่มเป็น 256M หรือ 512M ผ่าน MultiPHP INI Editor ใน cPanel ตามที่อธิบายไว้ข้างต้น
ปลั๊กอิน WooCommerce แจ้งเตือน PHP version ไม่เพียงพอ
WooCommerce 8.x ต้องการ PHP 7.4 ขึ้นไป และแนะนำ PHP 8.0+ ให้ใช้ MultiPHP Manager เปลี่ยนเป็น PHP 8.1 หรือ 8.2 แล้วทดสอบการทำงาน
คำถามที่พบบ่อย (FAQ)
Q: เปลี่ยน PHP Version แล้วเว็บช้าลง ทำไม?
A: โดยปกติ PHP 8.x เร็วกว่า PHP 7.x มาก หากเว็บช้าลงอาจเกิดจาก OPcache ยังไม่ได้ถูก warm up หลังเปลี่ยน PHP หรือมีปลั๊กอินที่ทำงานผิดปกติ ให้รอ 5–10 นาทีแล้วลองใหม่ หากยังช้าให้ตรวจ Error Log ใน cPanel
Q: Subdomain ใช้ PHP Version ต่างจากโดเมนหลักได้ไหม?
A: ได้ MultiPHP Manager ใน cPanel ให้ตั้งค่า PHP Version แยกกันสำหรับแต่ละโดเมนและ subdomain ซึ่งสะดวกมากสำหรับการทดสอบ เช่น ใช้ PHP 8.3 ใน staging subdomain แต่ยังคง PHP 8.1 ในโดเมนหลักที่ production
Q: จะรู้ได้อย่างไรว่า PHP Version ที่ใช้คือเท่าไหร่?
A: ดูได้ 3 วิธี: (1) เข้า cPanel > MultiPHP Manager ดูที่คอลัมน์ PHP Version (2) ใน WordPress Admin ไปที่ Tools > Site Health > Info > Server (3) สร้างไฟล์ phpinfo.php ใน File Manager แล้วลบทิ้งทันทีหลังดูข้อมูล