คู่มือการใช้งาน เมนู Select PHP version - (DirectAdmin User Level)
เลือก PHP Version, Extensions และ Options สำหรับบัญชีโฮสติ้ง พร้อมวิธีตรวจความเข้ากันได้ก่อนใช้กับเว็บไซต์จริง
Select PHP version ใช้ทำอะไร และเข้าเมนูตรงไหน
เมนู Select PHP Version ใช้เลือกเวอร์ชัน PHP พร้อมเปิด–ปิด Extension และปรับ Options ที่แอปพลิเคชันต้องการ เหมาะกับการเตรียมสภาพแวดล้อมให้ตรงกับ WordPress, Framework หรือระบบที่นำมาติดตั้งบนโฮสติ้ง

สำหรับลูกค้า Premium Hosting ให้เข้าจากหน้า Dashboard แล้วเลื่อนมาที่กลุ่ม Extra Features จากนั้นกดเมนู Select PHP version
เมื่อกดเข้าเมนูนี้ DirectAdmin จะเปิดหน้า plugin ที่ URL ลักษณะ /evo/plugin?src=/CMD_PLUGINS/phpselector/index.html และภายใน iframe จะแสดงหัวข้อ PHP Selector พร้อมแท็บหลัก Account Global Settings และ Per Domain Settings
สิ่งที่ต้องจำก่อนเริ่มคือเมนูนี้กระทบเว็บจริงได้ทันที โดยเฉพาะการเปลี่ยน PHP version, ปิด extension ที่เว็บใช้, เปิด debugging option หรือเพิ่มขีดจำกัดโดยไม่รู้ผลกระทบ ถ้าเว็บเป็น production ควรจดค่าเดิมหรือถ่ายภาพหน้าจอก่อนเปลี่ยนทุกครั้ง
ทำความรู้จักหน้า PHP Selector และเวอร์ชันที่กำลังใช้งาน
หน้าแรกของ PHP Selector ในตัวอย่างนี้เปิดที่ Account Global Settings และแท็บย่อย Extensions โดยด้านบนของหน้าจอ DirectAdmin ยังมีแถบ shell ด้านนอก เช่นโลโก้ DirectAdmin, search ไอคอน, ตัวเลือกโดเมน, language selector และ logout ไอคอน ส่วนที่ใช้ตั้งค่า PHP จริงอยู่ใน iframe ที่มีหัวข้อ PHP Selector

ส่วนควบคุมหลักในหน้า Account Global Settings มีดังนี้:
- ไอคอน PHP Selector - ไอคอนวงกลมคำว่า PHP ใช้ยืนยันว่าอยู่ใน plugin PHP Selector ไม่ใช่หน้า PHP Settings อีกเมนูหนึ่ง
- Account Global Settings - แท็บสำหรับตั้งค่าระดับบัญชีค่าในส่วนนี้เป็นค่า default ที่โดเมนซึ่งใช้ account global จะรับไปใช้
- Per Domain Settings - แท็บสำหรับดู/จัดการค่า PHP แยกตามโดเมน ถ้าเซิร์ฟเวอร์เปิดฟีเจอร์ isolation และ per-domain control ไว้
- Options tab - แท็บปรับค่า PHP options ผ่านช่องเลือก, เมนูเลือกและช่องช่องกรอก
เลือกเวอร์ชัน PHP
เมื่อกด เมนูเลือก PHP version ในหน้าตัวอย่าง จะเห็นรายการ PHP version ที่เซิร์ฟเวอร์เปิดให้เลือก ได้แก่ 5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3 (current), 8.4 และ 8.5 รายการจริงอาจต่างกันตามนโยบายของเซิร์ฟเวอร์ที่ลูกค้าใช้งานอยู่

คำว่า (current) บอกว่า version นั้นเป็นค่าที่กำลังใช้อยู่ในบริบทปัจจุบัน ในภาพคือ 8.3 (current) สำหรับบัญชี Global Settings ถ้าโดเมนใดใน Per Domain Settings แสดง 8.3 (account default) แปลว่าโดเมนนั้นกำลังรับค่า default จากบัญชี Global ไม่ได้ตั้งแยกเอง
ก่อนเปลี่ยน PHP version ให้เช็ก 5 เรื่องนี้:
- รู้ requirement ของเว็บ - WordPress core, theme, plugin, Laravel, Composer package หรือระบบ custom อาจรองรับ PHP ไม่เท่ากัน
- จด version เดิม - เช่น 8.3 เพื่อเปลี่ยนกลับเร็วถ้าเว็บขึ้น error
- ตรวจ extension หลังเปลี่ยน - extension บางตัวอาจมีชุดค่าแตกต่างกันในแต่ละ PHP version
- อย่าใช้ PHP เก่าเป็นคำตอบถาวร - PHP 5.x/7.x อาจช่วยให้เว็บเก่ารันได้ชั่วคราว แต่ควรวางแผนอัปเดตโค้ดให้รองรับรุ่นใหม่กว่า
จัดการ PHP Extension
Extensions tab แสดงรายการ PHP extension แยกตามตัวอักษร A-Z เช่น bcmath, curl, dom, gd, imagick, imap, intl, ioncube_loader, mbstring, mysqli, mysqlnd, opcache, pdo, pdo_mysql, redis, soap, sockets, xmlreader, xmlwriter, xsl, zip และ extension อื่นตามที่เซิร์ฟเวอร์ติดตั้งไว้

วิธีอ่านช่องเลือกในหน้านี้:
- ช่องเลือก ว่าง - extension นั้นยังไม่ถูกเปิดใน PHP version/บริบทที่เลือกอยู่
- ช่องเลือก สีฟ้าที่มีเครื่องหมายถูก - extension นั้นเปิดใช้งานอยู่ และบางรายการผู้ใช้สามารถติ๊กเปิด/ปิดได้
- ช่องเลือก สีอ่อนหรือ disabled - extension นั้นถูกบังคับโดยระบบหรือเป็น core extension ที่ผู้ใช้ระดับนี้ไม่ควร/ไม่สามารถปิดได้ เช่นบางรายการอย่าง
core,date,filter,json,session,standard,zlibแล้วแต่เซิร์ฟเวอร์ - หัวตัวอักษร A, B, C... - เป็นตัวแบ่งกลุ่มชื่อ extension ไม่ใช่ปุ่มคำสั่งและไม่ใช่ filter
ปรับค่า PHP
Options tab ใช้ปรับค่า PHP options ที่คล้าย php.ini สำหรับ PHP version/บริบทที่เลือกอยู่ หน้านี้มี control หลายชนิด ได้แก่ช่องเลือก, เมนูเลือกและ text ช่องกรอกบางช่องมี tooltip ช่วยอธิบาย เช่น mail.force_extra_parameters ที่อธิบาย parameter เพิ่มเติมของฟังก์ชัน mail()

ค่า options ที่เห็นในหน้าตัวอย่างมีดังนี้:
| Option | ชนิด control | ใช้ทำอะไร / ควรระวังอะไร |
|---|---|---|
allow_url_fopen | ช่องเลือก | อนุญาตให้ PHP เปิด URL เป็นไฟล์ได้ บางระบบต้องใช้ แต่ถ้าโค้ดไม่ปลอดภัยอาจเพิ่มความเสี่ยง |
display_errors | ช่องเลือก | เปิด/ปิดการแสดง error บนหน้าเว็บ production ควรปิดไว้เป็นหลัก เพื่อไม่ให้เผย path หรือข้อมูลภายใน |
error_reporting | เมนูเลือก | กำหนดระดับ error ที่ PHP รายงาน ในภาพเป็น E_ALL & ~E_DEPRECATED & ~E_STRICT |
upload_max_filesize | เมนูเลือก | ขนาดไฟล์สูงสุดต่อไฟล์ upload ในภาพเป็น 512M ต้องดู timeout และ post_max_size ประกอบ |
ตั้งค่า PHP แยกตามโดเมน
Per Domain Settings ใช้ดูว่ามีโดเมนใดใช้ค่า PHP แยกจากบัญชี global หรือไม่ ในตัวอย่างนี้ระบบแสดงคำเตือนสีเหลืองว่า Site Isolation has been denied by your server administrator. Isolation toggles are disabled. Contact your hosting provider for more information. หมายความว่าเซิร์ฟเวอร์ administrator ปิด/ไม่อนุญาต Site Isolation ในระดับนี้ ผู้ใช้จึงกด toggle isolation เองไม่ได้

ส่วนสรุป Domains that use: แสดงจำนวนโดเมนตามสถานะ isolation โดยในภาพมี Isolated domains 0 และ Not isolated domains 4 ตัวเลขนี้ใช้ดูภาพรวมเท่านั้น ไม่ใช่ปุ่มสำหรับเปลี่ยนค่า
ส่วนควบคุมและตารางในหน้านี้มีดังนี้:
- เมนูเลือก Show domains - ตัวกรองเพื่อเลือกกลุ่มโดเมนที่ต้องการดู เช่นแสดงทั้งหมดหรือกรองตามสถานะที่ระบบรองรับ
- Search by domain - ช่องค้นหาชื่อโดเมนในตารางช่วยหาโดเมนเร็วขึ้นเมื่อบัญชีมีหลายโดเมน
- ตัวนับ 1-4 / 4 item(s) - บอกช่วงรายการที่แสดงอยู่และจำนวนรายการทั้งหมดหลัง filter/search
- Items per page - เมนูเลือก pagination ด้านล่าง ใช้ปรับจำนวนแถวต่อหน้า ไม่ได้เปลี่ยนค่า PHP
หลังเปลี่ยนเวอร์ชัน PHP, Extension หรือ Option แล้ว ให้ทดสอบทั้งหน้าเว็บและหน้าหลังบ้าน หากมี Error ให้ย้อนค่าล่าสุดก่อน แล้วค่อยปรับใหม่ทีละรายการครับ
ต้องการสอบถามข้อมูลเพิ่มเติม?
สามารถแอดไลน์คุยกันก่อนได้ที่ line: @PhalconHost