บางครั้งคุณมีหลายเว็บบนบัญชี Hosting เดียว แต่แต่ละเว็บต้องการ PHP คนละเวอร์ชัน — เว็บใหม่อยากใช้ PHP 8.3 เพื่อความเร็วและความปลอดภัย ส่วนเว็บเก่าที่เขียนไว้นานยังต้องใช้ PHP 7.4 เพราะปลั๊กอินเก่าไม่รองรับเวอร์ชันใหม่ ข่าวดีคือ DirectAdmin ให้คุณตั้ง PHP ต่างเวอร์ชันต่อโดเมนได้เองโดยไม่ต้องแยก Hosting
สรุปสั้น: บน DirectAdmin คุณเลือก PHP เวอร์ชันให้แต่ละโดเมนได้ผ่านเมนู Select PHP Version และยังเจาะจงเฉพาะโฟลเดอร์ย่อยได้ด้วยไฟล์ .htaccess — ทำให้เว็บเก่าและเว็บใหม่อยู่ร่วมกันได้บนบัญชีเดียว
ทำไมต้องใช้ PHP หลายเวอร์ชัน
PHP แต่ละเวอร์ชันมีความเข้ากันได้ต่างกัน เหตุผลที่พบบ่อยที่ต้องใช้หลายเวอร์ชัน:
- เว็บเก่าไม่รองรับ PHP ใหม่ — โค้ดหรือปลั๊กอินที่เขียนสมัย PHP 5/7 อาจ Error เมื่อรันบน PHP 8 เพราะไวยากรณ์บางอย่างถูกถอดออก
- เว็บใหม่ต้องการความเร็วและความปลอดภัย — PHP 8.x เร็วกว่าและได้รับ Security Update ส่วนเวอร์ชันเก่าที่หมดอายุ (End of Life) จะไม่มีแพตช์ความปลอดภัยอีก
- กำลังทยอยอัปเกรด — อยากทดสอบเว็บบนเวอร์ชันใหม่ในโฟลเดอร์ staging ก่อนเปลี่ยนทั้งระบบ
เลือก PHP เวอร์ชันต่อโดเมน
วิธีพื้นฐานที่สุดคือกำหนดผ่านหน้า Select PHP Version ของ DirectAdmin:
- เข้าสู่ระบบ DirectAdmin แล้วเปิดเมนู Select PHP Version (หรือ Domain Setup ในบางธีมจะมีตัวเลือก PHP ต่อโดเมน)
- เลือกโดเมนที่ต้องการ (ถ้ามีหลายโดเมนในบัญชี)
- เลือกเวอร์ชัน PHP ที่ต้องการ เช่น 7.4, 8.1, 8.2 หรือ 8.3 แล้วบันทึก
- เปิดเว็บแล้วตรวจสอบว่าทำงานปกติ ไม่มี Error เกี่ยวกับเวอร์ชัน
การเปลี่ยนตรงนี้มีผลกับทั้งโดเมนนั้น โดยไม่กระทบโดเมนอื่นในบัญชีเดียวกัน
กำหนด PHP เฉพาะโฟลเดอร์ด้วย .htaccess
ถ้าต้องการให้เฉพาะบางโฟลเดอร์ใช้ PHP คนละเวอร์ชันกับส่วนอื่นของเว็บ ทำได้ผ่าน .htaccess ในโฟลเดอร์นั้น (รูปแบบคำสั่งขึ้นกับการตั้งค่าของเซิร์ฟเวอร์ ตัวอย่างทั่วไปบน LiteSpeed/CloudLinux):
<FilesMatch "\.php$"> SetHandler application/x-lsphp82 </FilesMatch>
แนวทางนี้เหมาะกับการแยก staging ออกจาก production บนโดเมนเดียว หรือเว็บย่อยที่ติดตั้งในซับโฟลเดอร์ หากไม่แน่ใจรูปแบบ Handler ที่ถูกต้อง ให้สอบถามทีมซัพพอร์ตเพราะค่าต่างกันตามแต่ละเซิร์ฟเวอร์
ระวัง: ใส่ค่า Handler ผิดจะทำให้หน้าเว็บแสดงโค้ด PHP เป็นข้อความ หรือขึ้น Error 500 ทดสอบทันทีหลังแก้ และเก็บสำเนา .htaccess เดิมไว้กู้คืนได้เสมอ
เลือกเวอร์ชัน PHP ให้เหมาะ
| เวอร์ชัน | สถานะ | เหมาะกับ |
|---|---|---|
| PHP 7.4 | หมดอายุแล้ว (ไม่มี Security Update) | เฉพาะเว็บเก่าที่ยังย้ายไม่ได้ ควรรีบอัปเกรด |
| PHP 8.1 | ยังได้รับการดูแล | เว็บที่ต้องการเสถียรและเข้ากันได้กว้าง |
| PHP 8.2 / 8.3 | เวอร์ชันใหม่ ดูแลเต็มที่ | เว็บใหม่ที่ต้องการความเร็วและความปลอดภัยสูงสุด |
หลักการคือ ใช้เวอร์ชันใหม่ที่สุดที่เว็บของคุณรองรับ และตั้งเป้าย้ายเว็บที่ยังติด PHP เก่าให้ขึ้นเวอร์ชันที่ยังได้รับ Security Update โดยเร็ว เพราะเวอร์ชันที่หมดอายุคือความเสี่ยงด้านความปลอดภัยที่สะสมขึ้นเรื่อยๆ
ผลต่อความเข้ากันได้ของปลั๊กอินและธีม
การเปลี่ยนเวอร์ชัน PHP ไม่ได้กระทบแค่แกนของ WordPress แต่กระทบ ปลั๊กอินและธีม ทุกตัวที่ติดตั้งไว้ด้วย ปลั๊กอินที่ดูแลดีและอัปเดตสม่ำเสมอมักรองรับ PHP เวอร์ชันใหม่อยู่แล้ว แต่ปลั๊กอินเก่าที่ผู้พัฒนาเลิกดูแลอาจใช้ฟังก์ชันที่ถูกถอดออกใน PHP 8 ทำให้เกิด Error หรือหน้าขาว (White Screen) ทันทีหลังเปลี่ยนเวอร์ชัน
แนวทางที่ปลอดภัยคือก่อนอัปเกรดเวอร์ชันสำคัญ ให้ตรวจหน้า Site Health ของ WordPress ซึ่งจะเตือนหากมีปลั๊กอินหรือธีมที่อาจเข้ากันไม่ได้ จากนั้นอัปเดตปลั๊กอินและธีมทุกตัวให้เป็นเวอร์ชันล่าสุดก่อน แล้วทดสอบบน Staging หรือโฟลเดอร์ทดสอบที่ตั้ง PHP เวอร์ชันใหม่ไว้ก่อนเปลี่ยนบนเว็บจริง
ถ้าพบว่าปลั๊กอินตัวใดตัวหนึ่งไม่รองรับเวอร์ชันใหม่และไม่มีอัปเดต ทางเลือกคือหาปลั๊กอินอื่นที่ทำงานเหมือนกันมาแทน หรือคงโดเมน/โฟลเดอร์นั้นไว้บนเวอร์ชันเก่าชั่วคราวด้วยวิธีที่อธิบายไปข้างต้น แล้ววางแผนย้ายในภายหลัง การมีอิสระเลือก PHP ต่อโดเมนทำให้คุณไม่ต้องฝืนอัปเกรดทั้งระบบพร้อมกันจนเสี่ยงเว็บล่ม
ตรวจสอบเวอร์ชันที่ใช้งานจริง
หลังตั้งค่าเสร็จ ควรยืนยันว่าแต่ละเว็บรันเวอร์ชันที่ต้องการจริง:
- สร้างไฟล์
<?php echo PHP_VERSION;ชั่วคราวในแต่ละเว็บแล้วเปิดดู (ลบทิ้งหลังตรวจ) - หรือดูจากหน้า Site Health ของ WordPress ที่แสดงเวอร์ชัน PHP ปัจจุบัน
- ตรวจ Error Log หากเว็บไม่ทำงานหลังเปลี่ยนเวอร์ชัน เพื่อดูว่ามีฟังก์ชันใดที่ไม่รองรับ
ข้อควรรู้ก่อนสลับเวอร์ชัน
- Backup ก่อนเสมอ — ก่อนเปลี่ยนเวอร์ชันสำคัญ ควรมี Backup เผื่อต้องย้อนกลับ
- Extension ต้องเปิดใหม่ — บางเวอร์ชันต้องไปติ๊กเปิด Extension ที่ต้องใช้ใหม่ เช่น OPcache, mysqli, gd
- ทดสอบฟังก์ชันสำคัญ — โดยเฉพาะระบบชำระเงินและฟอร์ม หลังเปลี่ยนเวอร์ชันให้ลองใช้งานจริงทุกจุดสำคัญ
สรุป: DirectAdmin ทำให้เว็บเก่าและใหม่อยู่ร่วมบัญชีเดียวกันได้ด้วยการเลือก PHP ต่อโดเมนหรือต่อโฟลเดอร์ ใช้โอกาสนี้ทยอยอัปเกรดเว็บเก่าขึ้นเวอร์ชันที่ปลอดภัยกว่าไปทีละตัว
คำถามที่พบบ่อย (FAQ)
เปลี่ยน PHP เวอร์ชันแล้วกระทบโดเมนอื่นไหม
ไม่กระทบ การเลือก PHP ผ่าน Select PHP Version มีผลเฉพาะโดเมนที่เลือก โดเมนอื่นในบัญชีเดียวกันยังใช้เวอร์ชันเดิม และยังเจาะจงเฉพาะโฟลเดอร์ได้ด้วย .htaccess
เว็บเก่ายังใช้ PHP 7.4 ได้ไหม
ได้ในทางเทคนิค แต่ PHP 7.4 หมดอายุแล้วและไม่มี Security Update ควรใช้ชั่วคราวเฉพาะเว็บที่ยังย้ายไม่ได้ และวางแผนอัปเกรดขึ้นเวอร์ชันที่ยังได้รับการดูแลโดยเร็วที่สุด
เปลี่ยนเวอร์ชันแล้วเว็บขึ้น Error 500 แก้อย่างไร
ส่วนใหญ่เกิดจากโค้ดหรือปลั๊กอินไม่รองรับเวอร์ชันใหม่ หรือค่า Handler ใน .htaccess ผิด ให้ดู Error Log เพื่อหาสาเหตุ ลองย้อนกลับเวอร์ชันเดิมก่อน แล้วแก้โค้ด/อัปเดตปลั๊กอินให้รองรับก่อนเปลี่ยนอีกครั้ง
ต้องเปิด Extension ใหม่หลังเปลี่ยนเวอร์ชันไหม
บางครั้งต้อง เพราะการตั้งค่า Extension ผูกกับแต่ละเวอร์ชัน หลังเปลี่ยนควรตรวจว่า Extension ที่เว็บต้องใช้ เช่น OPcache, mysqli, gd ถูกเปิดในเวอร์ชันใหม่ครบ
โฮสติ้งเลือก PHP ได้หลายเวอร์ชันบน DirectAdmin
AsiaGB Hosting รองรับ PHP หลายเวอร์ชันให้คุณเลือกต่อโดเมนได้เองผ่าน DirectAdmin บน SSD เริ่มต้น 500 บาท/ปี พร้อมทีมซัพพอร์ตไทย
ดูแพ็กเกจ Hosting