วิธีเปลี่ยน PHP Version ใน DirectAdmin

PHP Version ที่ใช้บน Hosting มีผลโดยตรงต่อความเร็ว ความปลอดภัย และความเข้ากันได้ของ Plugin และ Theme DirectAdmin ของ AsiaGB รองรับ PHP หลายเวอร์ชันและให้คุณเปลี่ยนได้เองผ่าน Control Panel โดยไม่ต้องติดต่อ Support

PHP Settings ใน DirectAdmin อยู่ที่ไหน

ฟีเจอร์การจัดการ PHP ใน DirectAdmin อยู่ในส่วน Advanced Features ซึ่งคุณจะพบได้หลังจาก Login เข้าระบบ:

  1. Login เข้า DirectAdmin ของคุณ
  2. ไปที่หมวด Advanced Features
  3. คลิก PHP Selector หรือ Select PHP Version

ในบางเวอร์ชันของ DirectAdmin อาจมีชื่อว่า PHP Configuration หรืออยู่ใต้ Domain Setup ขึ้นอยู่กับธีมของ Control Panel

PHP Versions ที่รองรับใน AsiaGB

AsiaGB รองรับ PHP 3 เวอร์ชันหลัก เพื่อให้รองรับทั้งเว็บไซต์ใหม่และระบบเก่าที่ยังต้องการ PHP เวอร์ชันเก่า:

วิธีเปลี่ยน PHP Version ทีละขั้น

  1. เข้า DirectAdmin แล้วไปที่ Advanced Features > PHP Selector
  2. เลือกโดเมนที่ต้องการเปลี่ยน PHP Version ในช่อง Domain (หากมีหลายโดเมน)
  3. เลือก PHP Version ที่ต้องการจาก dropdown เช่น PHP 8.2
  4. คลิก Save หรือ Apply
  5. รอสักครู่แล้ว Refresh หน้าเว็บเพื่อยืนยันว่าเปลี่ยนสำเร็จ

การเปลี่ยน PHP Version มีผลทันทีโดยส่วนใหญ่ ไม่จำเป็นต้อง Restart Server ให้ทดสอบเว็บไซต์หลังเปลี่ยนเสมอเพื่อให้แน่ใจว่าไม่มี Error

ตรวจสอบ PHP Version ด้วยไฟล์ phpinfo.php

หลังเปลี่ยน PHP Version แล้ว สามารถยืนยันได้โดยสร้างไฟล์ทดสอบ:

  1. สร้างไฟล์ชื่อ phpinfo.php ใน public_html ด้วย File Manager
  2. เนื้อหาของไฟล์: <?php phpinfo(); ?>
  3. เปิด Browser แล้วไปที่ https://yoursite.com/phpinfo.php
  4. PHP Version จะแสดงที่บรรทัดแรกของหน้า
  5. ลบไฟล์นี้ทิ้งทันที หลังตรวจสอบเสร็จ เพราะเปิดเผยข้อมูล Server
หน้า PHP Settings สำหรับปรับค่า PHP ของเว็บไซต์
หน้า PHP Settings สำหรับปรับค่า PHP ของเว็บไซต์
เลือก PHP Version จาก Dropdown (วงแดง) แล้วกด Save
เลือก PHP Version จาก Dropdown (วงแดง) แล้วกด Save

PHP Extensions: เปิด/ปิด Extension ที่จำเป็น

PHP Extensions คือโมดูลเพิ่มเติมที่ให้ PHP ทำงานร่วมกับระบบอื่นได้ DirectAdmin ให้คุณเปิดหรือปิด Extension ได้เองตามต้องการ:

ไปที่ PHP Selector แล้วคลิก Extensions เพื่อดู Extension ทั้งหมดและเปิด/ปิดตามต้องการ

php.ini: ตัวแปรสำคัญที่ควรรู้

php.ini คือไฟล์ตั้งค่า PHP ที่กำหนดพฤติกรรมต่างๆ ตัวแปรที่มักต้องปรับสำหรับเว็บไซต์ทั่วไป:

ใน DirectAdmin ไปที่ PHP Selector แล้วคลิก php.ini เพื่อแก้ไขค่าโดยตรง หรือสร้างไฟล์ .user.ini ใน public_html เพื่อ Override ค่าเฉพาะโดเมนนั้น

คำแนะนำ: WordPress และ WooCommerce แนะนำให้ใช้ PHP 8.2 ขึ้นไปสำหรับประสิทธิภาพสูงสุดและการรองรับ Security Patch ล่าสุด ส่วน Legacy Plugin หรือระบบเก่าที่ยังไม่ได้รับการอัปเดตอาจต้องการ PHP 7.4 หากอัปเกรดแล้วเว็บพัง ให้ย้อนกลับเป็น PHP 7.4 ก่อนแล้วติดต่อผู้พัฒนา Plugin

การเลือก PHP Version ที่เหมาะสมกับ CMS และ Framework

การเลือก PHP Version ที่ถูกต้องเป็นขั้นตอนแรกที่สำคัญก่อนติดตั้งหรืออัปเกรดเว็บไซต์ แต่ละ CMS และ Framework มีความต้องการ PHP Version ที่แตกต่างกัน ดังนี้

ก่อนอัปเกรด PHP Version ควรตรวจสอบ Plugin หรือ Extension ทุกตัวว่ารองรับ Version ใหม่หรือไม่ โดยดูจากหน้า Changelog หรือ Repository ของผู้พัฒนา หากมี Plugin เก่าที่ไม่ได้รับการอัปเดตมานานเกิน 2 ปี ให้ลองทดสอบใน Staging Environment ก่อนเสมอ

การตั้งค่า php.ini ที่สำคัญสำหรับเว็บไซต์จริง

นอกจากค่าพื้นฐานที่กล่าวไปแล้ว ยังมีค่าใน php.ini อีกหลายตัวที่ส่งผลต่อพฤติกรรมของเว็บไซต์โดยตรง โดยเฉพาะเว็บที่รองรับการอัปโหลดไฟล์หรือมีการประมวลผลข้อมูลขนาดใหญ่

ค่าที่แนะนำสำหรับ WordPress / WooCommerce

วิธีสร้างไฟล์ .user.ini เพื่อ Override ค่า php.ini เฉพาะโดเมน: สร้างไฟล์ชื่อ .user.ini ใน public_html แล้วใส่ค่าที่ต้องการ เช่น upload_max_filesize = 64M ไฟล์นี้จะมีผลทันทีโดยไม่ต้อง Restart Server และจะ Override ค่า php.ini ของระบบเฉพาะโดเมนนั้น

การ Debug PHP Error ด้วย error_log และ display_errors

เมื่อเว็บไซต์เกิด Error ไม่ว่าจะเป็น White Screen of Death หรือ Fatal Error การ Debug ที่ถูกวิธีจะช่วยหาสาเหตุได้เร็วขึ้น DirectAdmin รองรับการตั้งค่า Debug ผ่าน php.ini หรือไฟล์ .user.ini

การเปิด Error Log บน Production Server

สำหรับ Production Server ไม่ควรแสดง Error บนหน้าเว็บโดยตรง แต่ควรบันทึกลง Log File แทน ใช้ค่าเหล่านี้ใน .user.ini:

การเปิด Error บน Development/Staging

สำหรับ Environment ที่กำลัง Develop ให้เปิด display_errors = On และ display_startup_errors = On เพื่อเห็น Error ทันที หลังจากแก้ไขเสร็จให้ปิดก่อน Deploy ไป Production เสมอ สามารถดู Error Log ได้จาก DirectAdmin ที่เมนู Error Log หรือผ่าน File Manager เปิดไฟล์ Log โดยตรง

PHP Modes: mod_php, FastCGI และ PHP-FPM ต่างกันอย่างไร

DirectAdmin รองรับหลาย PHP Handler Mode ซึ่งแต่ละแบบมีผลต่อ Performance, Security และการใช้ Memory ที่แตกต่างกัน การเลือก Mode ที่เหมาะสมช่วยให้เว็บไซต์ทำงานได้เร็วขึ้นอย่างมีนัยสำคัญ

mod_php

mod_php ทำงานเป็นส่วนหนึ่งของ Apache Web Server โดยตรง ทุก Apache process จะมี PHP โหลดอยู่ในหน่วยความจำตลอดเวลา ข้อดีคือ Overhead ต่ำสำหรับเว็บขนาดเล็ก ข้อเสียคือ Memory ไม่ถูกคืนหลัง Request เสร็จ และทุกไฟล์รันในสิทธิ์ของ Apache User ซึ่งอาจเป็นปัญหาด้าน Security เมื่อมีหลายเว็บไซต์บนเซิร์ฟเวอร์เดียวกัน

FastCGI (CGI Mode)

FastCGI รัน PHP เป็น Process แยกจาก Web Server ทำให้แต่ละโดเมนสามารถใช้ PHP User ที่แตกต่างกันได้ ช่วยเพิ่ม Security โดยเฉพาะในสภาพแวดล้อม Shared Hosting ที่มีหลาย Account อยู่บนเซิร์ฟเวอร์เดียว Performance ดีกว่า mod_php ในสภาพแวดล้อมที่มี Concurrent Request สูง

PHP-FPM (FastCGI Process Manager)

PHP-FPM คือ FastCGI Implementation ที่พัฒนาต่อยอดมาพร้อม Process Pool Management ขั้นสูง สามารถกำหนดจำนวน Worker Process ได้ จัดการ Memory ได้ดีกว่า และรองรับ Graceful Reload โดยไม่ต้อง Restart Server ทั้งหมด เหมาะกับ Production Server ที่ต้องการ Performance สูงสุด AsiaGB ใช้ PHP-FPM เป็นค่าเริ่มต้นสำหรับ Hosting ทุกแพ็กเกจ เพราะให้ทั้ง Performance และ Security ที่ดีที่สุดในบรรดา Mode ทั้งหมด

Hosting รองรับ PHP 7.4, 8.2 และ 8.3

AsiaGB Hosting ให้คุณเปลี่ยน PHP Version ได้เองตลอดเวลา พร้อม SSL ฟรี, DirectAdmin และ Support ภาษาไทย

ดูแพ็กเกจ Hosting