
สารบัญ
1. ทำไมต้องเปลี่ยน PHP Version?
PHP เป็นภาษาโปรแกรมหลักที่ขับเคลื่อนเว็บไซต์กว่า 80% ทั่วโลก รวมถึง WordPress, Joomla และ Drupal ทุก version ของ PHP มีอายุการรองรับ (End of Life) กำหนดชัดเจน เมื่อหมดอายุจะไม่ได้รับ security patch ทำให้เว็บเสี่ยงถูกโจมตี
สาเหตุหลักที่ต้องเปลี่ยน PHP Version:
- ความปลอดภัย — PHP เก่าที่หมด support มีช่องโหว่ที่ไม่ได้รับการแก้ไข
- ประสิทธิภาพ — PHP 8.x เร็วกว่า PHP 7.x ถึง 30–50% ในงานทั่วไป
- ความเข้ากันได้ — Plugin/theme ใหม่ต้องการ PHP version ที่สูงกว่า
- ฟีเจอร์ใหม่ — PHP 8.x มี named arguments, fiber, JIT compilation
สถิติ PHP ในปี 2026: PHP 8.2 และ 8.3 เป็น version ที่แนะนำสำหรับงานใหม่ ส่วน PHP 7.4 หมด support แล้วตั้งแต่ปลายปี 2565
2. PHP Version แต่ละรุ่นต่างกันอย่างไร
ตารางเปรียบเทียบ PHP Version ที่พบบ่อยบน Hosting:
| Version | สถานะ | Security Support | ความเหมาะสม |
|---|---|---|---|
| PHP 7.4 | End of Life | หมดแล้ว (ธ.ค. 2565) | ไม่แนะนำ — ใช้เฉพาะ legacy |
| PHP 8.0 | End of Life | หมดแล้ว (พ.ย. 2566) | ไม่แนะนำ |
| PHP 8.1 | Security Fix Only | ธ.ค. 2568 | ยังใช้ได้ — เหมาะ WP เก่า |
| PHP 8.2 | Active Support | ธ.ค. 2569 | แนะนำ — เสถียรดี |
| PHP 8.3 | Active Support | พ.ย. 2570 | แนะนำ — ล่าสุด |
AsiaGB Hosting รองรับ PHP 7.4, 8.0, 8.1, 8.2 และ 8.3 — สามารถเปลี่ยนได้เองทันทีผ่าน DirectAdmin โดยไม่ต้องติดต่อ support
3. วิธีเปลี่ยน PHP บน DirectAdmin
DirectAdmin มี interface สำหรับเปลี่ยน PHP Version โดยตรง ทำตามขั้นตอนนี้:
- เข้าสู่ระบบ DirectAdmin ที่
yourdomain.com:2222หรือ URL ที่ได้รับ - ไปที่เมนู Advanced Features หรือ Software
- คลิก PHP Version Selector หรือ PHP Selector
- เลือก domain ที่ต้องการเปลี่ยน (กรณีมีหลาย domain)
- เลือก PHP Version ที่ต้องการจาก dropdown
- คลิก Save หรือ Apply
- รอสักครู่แล้ว refresh เว็บไซต์
หมายเหตุ: การเปลี่ยน PHP Version มีผลทันทีโดยไม่ต้อง restart server หากเว็บใช้ PHP selector per domain สามารถตั้งค่าแยกกันแต่ละ domain ได้
กรณีที่ไม่เห็นเมนู PHP Version Selector
ถ้าไม่พบเมนูดังกล่าวใน DirectAdmin ให้ลองค้นหาในตำแหน่งเหล่านี้:
- Extra Features → PHP Version Manager
- Domain Setup → PHP Version (per domain)
- User Level → เมนูด้านบนขวา → PHP
หากยังไม่เจอ ติดต่อ support ของ AsiaGB ผ่าน Ticket เพื่อขอให้เปลี่ยน PHP Version ให้
4. เปลี่ยน PHP ด้วย .htaccess
นอกจาก GUI แล้ว ยังสามารถระบุ PHP Version เฉพาะ directory ด้วย .htaccess:
# เปลี่ยน PHP เฉพาะ folder นี้
AddHandler application/x-httpd-php82 .php
# หรือใช้ fcgi
AddHandler fcgid-script .php
FCGIWrapper /usr/local/bin/php82-cgi .php
คำเตือน: syntax ของ .htaccess สำหรับ PHP อาจต่างกันตาม server configuration ถ้าใช้ไม่ได้ให้ติดต่อ support เพื่อยืนยัน handler ที่ถูกต้อง
วิธีที่แนะนำกว่าคือใช้ PHP Selector บน DirectAdmin เพราะปลอดภัยกว่าและรองรับทุก server configuration
5. ตรวจสอบ PHP Version ที่ใช้งาน
หลังเปลี่ยน PHP Version ควรตรวจสอบว่าเว็บใช้ version ที่ถูกต้องจริง:
วิธีที่ 1: ใช้ phpinfo()
<?php
// สร้างไฟล์ info.php แล้วลบทิ้งหลังใช้งาน
phpinfo();
?>
วิธีที่ 2: ตรวจด้วย PHP CLI
php -v
วิธีที่ 3: ใช้ WordPress Health Check
ใน WordPress Admin → Tools → Site Health → Info → Server จะแสดง PHP Version ปัจจุบัน
สำคัญ: ลบไฟล์ info.php ออกหลังตรวจสอบทันที เพราะข้อมูลใน phpinfo() เปิดเผย server configuration ที่อาจเป็นประโยชน์ต่อผู้ไม่หวังดี
6. PHP Extensions ที่ควรเปิด
Extension สำคัญที่ควรมีสำหรับ WordPress และเว็บทั่วไป:
| Extension | ใช้สำหรับ | WordPress |
|---|---|---|
| curl | HTTP requests, API calls | จำเป็น |
| gd / imagick | Image processing, thumbnail | จำเป็น |
| mbstring | Multibyte string (ภาษาไทย/จีน) | จำเป็น |
| mysqli / pdo_mysql | MySQL database | จำเป็น |
| openssl | SSL/TLS, encryption | จำเป็น |
| xml / xmlreader | XML parsing, RSS | จำเป็น |
| zip | Archive, plugin install | จำเป็น |
| opcache | PHP code caching | แนะนำมาก |
| intl | Internationalization | แนะนำ |
| sodium | Cryptography (WP 5.2+) | แนะนำ |
ใน DirectAdmin สามารถเปิด/ปิด Extension ผ่าน PHP Selector → Extensions บาง hosting plan อาจจำกัด extension ที่เปลี่ยนได้
7. แก้ปัญหาหลังเปลี่ยน PHP
ปัญหาที่พบบ่อยหลังเปลี่ยน PHP Version และวิธีแก้:
เว็บขึ้น White Screen หรือ 500 Error
สาเหตุมักเป็น plugin/theme ไม่รองรับ PHP ใหม่ ให้ทำดังนี้:
- เปลี่ยน PHP กลับเวอร์ชันเดิมชั่วคราว
- ตรวจสอบ PHP error log ใน DirectAdmin → Files → Log Viewer
- ปิด plugin ทีละตัวเพื่อหาตัวที่มีปัญหา
- อัพเดต plugin/theme ทั้งหมดให้เป็น version ล่าสุดก่อนอัพ PHP
Function หรือ Feature บางอย่างไม่ทำงาน
PHP 8.x เลิกรองรับ (deprecated/removed) บาง function จาก PHP 7.x:
each()ถูกลบใน PHP 8.0create_function()ถูกลบใน PHP 8.0- Implicit conversion จาก string เป็น int เปลี่ยน behavior ใน PHP 8.0
str_contains(),str_starts_with()เพิ่มใหม่ใน PHP 8.0 (ไม่มีใน 7.x)
Database Connection Error
ตรวจสอบว่า PHP version ใหม่มี mysqli หรือ pdo_mysql extension เปิดอยู่ ดูผ่าน phpinfo() หรือ DirectAdmin PHP Extensions
Session / Cookie ไม่ทำงาน
ตรวจสอบ session.save_path ใน php.ini และสิทธิ์ของ directory ที่เก็บ session
8. PHP Version ที่เหมาะกับ WordPress
WordPress แนะนำ PHP เวอร์ชันเหล่านี้ตาม release ปัจจุบัน:
| WordPress Version | PHP แนะนำ | PHP ต่ำสุด |
|---|---|---|
| WordPress 6.4+ | PHP 8.2 หรือ 8.3 | PHP 7.4 |
| WordPress 6.0–6.3 | PHP 8.1 หรือ 8.2 | PHP 7.4 |
| WordPress 5.x | PHP 8.0 หรือ 8.1 | PHP 7.4 |
ขั้นตอนอัพ PHP สำหรับ WordPress
- Backup — ทำ backup ทั้ง database และไฟล์ก่อนเสมอ
- ตรวจสอบ plugin compatibility — ดูหน้า plugin ว่า tested up to PHP version ใด
- อัพเดต WordPress, plugin, theme — ให้เป็น version ล่าสุดก่อน
- เปลี่ยน PHP ใน staging — ถ้ามี staging environment ทดสอบก่อน production
- เปลี่ยน PHP บน production — ผ่าน DirectAdmin PHP Selector
- ทดสอบเว็บ — เช็คทุกหน้าหลัก form และฟีเจอร์สำคัญ
เคล็ดลับ: AsiaGB Hosting รองรับ Softaculous ซึ่งมีฟีเจอร์ backup อัตโนมัติ ใช้สร้าง backup ก่อนเปลี่ยน PHP ได้สะดวก นอกจากนี้ AsiaGB ยังมีบริการ backup 2 ครั้งต่อเดือน (ทุกวันที่ 1 และ 15)
9. คำถามที่พบบ่อย (FAQ)
สรุป
การเปลี่ยน PHP Version บน DirectAdmin Hosting ทำได้ง่ายผ่าน PHP Selector เพียงไม่กี่คลิก ควรอัพเกรดไปใช้ PHP 8.2 หรือ 8.3 เพื่อความปลอดภัยและประสิทธิภาพที่ดีขึ้น โดยอย่าลืม backup ก่อนทำการเปลี่ยน และทดสอบเว็บหลังเปลี่ยนเสมอ หากพบปัญหา ทีม support AsiaGB พร้อมช่วยเหลือผ่าน Ticket ตลอด 24 ชั่วโมง