ทำไมต้องอัปเดต PHP Version?
PHP Version ที่เก่าไม่ได้รับการอัปเดต Security Patch อีกต่อไป ทำให้มีความเสี่ยงด้านความปลอดภัย นอกจากนี้ WordPress, WooCommerce และ Plugin สมัยใหม่ต้องการ PHP 8.0 ขึ้นไป PHP เวอร์ชันใหม่ยังเร็วกว่าอย่างเห็นได้ชัด เช่น PHP 8.x เร็วกว่า PHP 7.4 ถึง 20–40%
| PHP Version | Status | End of Life |
|---|---|---|
| PHP 7.4 | EOL — ไม่แนะนำ | พฤศจิกายน 2022 |
| PHP 8.0 | EOL — ไม่แนะนำ | พฤศจิกายน 2023 |
| PHP 8.1 | Security Fix Only | ธันวาคม 2025 |
| PHP 8.2 | Active Support | ธันวาคม 2026 |
| PHP 8.3 | Active Support ✅ | ธันวาคม 2027 |
ดู PHP Version ปัจจุบัน
ก่อนเปลี่ยน ให้รู้ก่อนว่าปัจจุบันใช้ Version ใดอยู่:
- ผ่าน cPanel: ไปที่ Software → MultiPHP Manager จะเห็น PHP Version ของแต่ละโดเมน
- ผ่าน phpinfo(): สร้างไฟล์ info.php มีเนื้อหา
<?php phpinfo(); ?>แล้วเปิดในเบราว์เซอร์ - ผ่าน SSH: รันคำสั่ง
php -v
เปลี่ยน PHP Version ผ่าน MultiPHP Manager
- ล็อกอิน cPanel แล้วไปที่หัวข้อ Software
- คลิก MultiPHP Manager
- ติ๊กเลือกโดเมนที่ต้องการเปลี่ยน
- เลือก PHP Version ที่ต้องการจาก Dropdown
- คลิก Apply
- รอสักครู่แล้วทดสอบเว็บ
ตั้งค่า PHP Extensions ที่จำเป็น
หลังเปลี่ยน PHP Version แล้ว ตรวจสอบว่า Extensions ที่จำเป็นถูกเปิดอยู่:
- ใน cPanel ไปที่ Software → MultiPHP INI Editor
- เลือก Editor Mode
- ตรวจสอบ Extensions ที่จำเป็นสำหรับ WordPress:
curl— สำหรับ API Callsgdหรือimagick— สำหรับ Image Processingmbstring— สำหรับ Multi-byte String (ภาษาไทย)mysqliหรือpdo_mysql— สำหรับ Databasexml,zip,intl— สำหรับ Plugin ต่างๆ
ปรับแต่ง php.ini ผ่าน .htaccess
ถ้าต้องการปรับค่า PHP เฉพาะบางโดเมนหรือบาง Directory สามารถทำผ่าน .htaccess ได้:
# เพิ่ม Memory Limit
php_value memory_limit 256M
# เพิ่ม Upload Size
php_value upload_max_filesize 64M
php_value post_max_size 64M
# เพิ่ม Execution Time
php_value max_execution_time 120
# เปิด Error Reporting (สำหรับ Development เท่านั้น)
php_flag display_errors On
php_value error_reporting E_ALL
ตรวจสอบด้วย phpinfo()
สร้างไฟล์ check.php ในโดเมนและเปิดในเบราว์เซอร์เพื่อดูข้อมูล PHP ทั้งหมด:
<?php
// check.php — ลบออกหลังใช้งาน!
echo "PHP Version: " . PHP_VERSION . "\n";
echo "Memory Limit: " . ini_get('memory_limit') . "\n";
echo "Max Upload: " . ini_get('upload_max_filesize') . "\n";
echo "Extensions: ";
print_r(get_loaded_extensions());
?>
ตรวจสอบว่า PHP Version เปลี่ยนถูกต้อง
# ตรวจ PHP Version ผ่าน SSH
php -v
# ตรวจ Extensions ที่โหลดอยู่
php -m
# ทดสอบว่า Script ทำงานได้
php -r "echo 'PHP OK: ' . PHP_VERSION . PHP_EOL;"
# ตรวจ php.ini ที่ใช้งาน
php --ini
แก้ปัญหาที่พบบ่อย
Error: เว็บขึ้น 500 Internal Server Error หลังเปลี่ยน PHP
ตรวจสอบ PHP Error Log ใน cPanel → Logs → Errors ปัญหาที่พบบ่อยที่สุดคือ PHP Extension ที่ Plugin ต้องการไม่ได้ถูกเปิด ให้ดู Error Message ว่า Extension ใดหายไปแล้วเปิดเพิ่มใน MultiPHP INI Editor
Error: WordPress Plugin ทำงานผิดปกติหลังเปลี่ยน PHP
บาง Plugin ใช้ Function ที่ถูกลบออกจาก PHP Version ใหม่ (Deprecated/Removed) ให้อัปเดต Plugin ก่อน ถ้ายังไม่ได้อัปเดต ให้ Rollback PHP Version ชั่วคราวแล้วรออัปเดต Plugin ก่อน
Error: "Call to undefined function" หลังเปลี่ยน PHP
Extension ที่ Function นั้นต้องการไม่ได้ถูกโหลด ดู Error Message ว่า Function ใดหายแล้วค้นหาว่า Extension ใดที่ให้ Function นั้น เช่น mb_strlen() ต้องการ mbstring Extension
Error: PHP Extension เปิดแล้วแต่ phpinfo() ยังไม่แสดง
ตรวจสอบว่า PHP Version ที่เปิด Extension ตรงกับ PHP Version ที่เว็บใช้อยู่ ใน MultiPHP INI Editor ต้องเลือก PHP Version ที่ถูกต้องด้วย
คำถามที่พบบ่อย
ควรใช้ PHP Version ใดสำหรับ WordPress?
WordPress 6.x แนะนำให้ใช้ PHP 8.2 หรือ 8.3 ซึ่งเร็วกว่าและปลอดภัยกว่า ก่อนอัปเกรดตรวจสอบความเข้ากันได้ของ Plugin ทุกตัวที่ใช้งานอยู่ผ่าน Plugin Compatibility Page หรือทดสอบบน Staging
เปลี่ยน PHP แล้ว Site ช้าลงได้ไหม?
โดยปกติเปลี่ยนเป็น Version ใหม่กว่าจะเร็วขึ้น ถ้าช้าลงอาจเป็นเพราะ OPcache ยังไม่ได้ Warm Up (รอ 5–10 นาที) หรือมี Error ที่ทำให้ PHP ใช้ CPU เพิ่ม ตรวจสอบ Error Log
Hosting ของฉันไม่มี MultiPHP Manager ทำอย่างไร?
ติดต่อ Support ของ Hosting Provider เพื่อขอเปลี่ยน PHP Version หรือใช้วิธี .htaccess เพิ่ม AddHandler application/x-httpd-phpXX .php โดยเปลี่ยน XX เป็น Version เช่น php83