เปิด/ปิด PHP Extensions ใน cPanel

สคริปต์แจ้ง "missing extension" หรือ WordPress เตือนว่าขาดโมดูล? มาเปิด PHP Extension ที่ต้องการผ่าน cPanel แบบคลิกอย่างเดียว ไม่ต้องใช้ SSH

เปิดปิด PHP Extensions ใน cPanel Select PHP Version ผ่านหน้าจอจัดการ

PHP Extension คืออะไร ทำไมต้องเปิด

PHP Extension คือโมดูลเสริมที่เพิ่มความสามารถให้ PHP เช่น จัดการรูปภาพ (gd), เชื่อมฐานข้อมูล (mysqli, pdo_mysql), เข้ารหัส (openssl), หรือจัดการ ZIP (zip) แอปอย่าง WordPress, WooCommerce, Laravel ต้องการ Extension เฉพาะตัว ถ้าขาดจะทำงานไม่ครบหรือแสดง Error

เปิด/ปิด Extension ผ่าน Select PHP Version

  1. Login cPanel → Section "Software" → คลิก "Select PHP Version" (บางธีมชื่อ "MultiPHP Manager" แล้วเข้า Extensions)
  2. จะเห็นแท็บ "Extensions" พร้อม Checkbox ของแต่ละโมดูล
  3. ติ๊กเปิด Extension ที่ต้องการ หรือเอาติ๊กออกเพื่อปิด
  4. ระบบบันทึกอัตโนมัติทันทีที่ติ๊ก — ไม่ต้องกดปุ่ม Save แยก
Tip: ก่อนเปลี่ยน Extension ให้ตรวจว่าเลือก PHP Version ตรงกับที่เว็บใช้งานจริงก่อน เพราะแต่ละเวอร์ชันมีรายการ Extension แยกกัน ดูวิธีเลือกเวอร์ชันที่ เปลี่ยน PHP Version ใน cPanel

Extension ที่ควรเปิดสำหรับเว็บทั่วไป

Extensionใช้ทำอะไร
gd / imagickปรับขนาด/แก้ไขรูปภาพ (WordPress Thumbnail)
mysqli, pdo_mysqlเชื่อมต่อฐานข้อมูล MySQL
curlเรียก API ภายนอก / อัปเดตปลั๊กอิน
mbstringจัดการข้อความหลายภาษา (ภาษาไทย/UTF-8)
opensslเข้ารหัส SSL / ชำระเงิน
zipแตก/บีบไฟล์ (ติดตั้งปลั๊กอิน, Backup)
intlจัดรูปแบบวันที่/ตัวเลขตาม Locale
exifอ่านข้อมูล Meta ของรูปถ่าย

ปรับค่า PHP ผ่าน MultiPHP INI Editor

นอกจากเปิด Extension บางแอปต้องปรับค่า เช่น memory_limit หรือ upload_max_filesize ทำได้ที่ cPanel → "MultiPHP INI Editor" เลือกโดเมนแล้วปรับค่าในโหมด Basic

# ค่าแนะนำสำหรับ WordPress/WooCommerce
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 120
max_input_vars = 3000

ถ้าต้องการเพิ่มบรรทัด directive แบบกำหนดเอง ใช้โหมด Editor หรือเพิ่มในไฟล์ .user.ini อ่านเพิ่มที่ ปรับค่า php.ini ใน cPanel

ตรวจสอบว่า Extension เปิดทำงานถูกต้อง

# 1. สร้างไฟล์ phpinfo ชั่วคราวใน File Manager (ลบทันทีหลังตรวจ)
<?php phpinfo(); ?>
# เปิด yourdomain.com/phpinfo.php แล้วค้นหาชื่อ Extension

# 2. ตรวจผ่าน Terminal cPanel (ถ้ามี)
php -m | grep -i gd
php -m | grep -i curl
# ถ้ามีชื่อขึ้นมาแสดงว่าเปิดแล้ว

# 3. ตรวจใน WordPress
Tools → Site Health → Info → Server
# ดูรายการ PHP extensions ที่ active
สำคัญ: ลบไฟล์ phpinfo.php ออกทันทีหลังตรวจเสร็จ เพราะไฟล์นี้เปิดเผยข้อมูล Server, Path และเวอร์ชันซอฟต์แวร์ที่ผู้ไม่หวังดีใช้โจมตีได้

แก้ปัญหาที่พบบ่อย

เปิด Extension แล้วแต่เว็บยังบอกว่าขาด

ตรวจว่าเปิดบน PHP Version ที่เว็บใช้จริง ไม่ใช่เวอร์ชันอื่น และเคลียร์ OPcache โดยรอสักครู่หรือสลับเวอร์ชันไป-กลับเพื่อให้โหลดค่าใหม่

หา Extension ที่ต้องการไม่เจอในรายการ

Shared Hosting บางแห่งไม่ได้คอมไพล์ Extension ทุกตัว (เช่น imagick, redis) ถ้าไม่มีในรายการให้ติดต่อผู้ให้บริการเพื่อขอเปิด หรือใช้ Extension ทดแทน (เช่น gd แทน imagick)

เว็บพังหลังเปิด/ปิด Extension

มักเป็นเพราะปิด Extension ที่จำเป็น (เช่น mysqli) ให้กลับไปเปิดคืน ถ้าจำไม่ได้ว่าเปลี่ยนอะไร ให้กดปุ่ม "Reset to Default" หรือเลือกชุด Extension มาตรฐานของ Hosting

เปลี่ยนค่าใน INI Editor แล้วไม่มีผล

ตรวจว่าเลือกโดเมนถูกต้อง และค่าไม่ถูก Lock โดยผู้ให้บริการ บางค่า (เช่น disable_functions) ผู้ใช้แก้ไม่ได้เพื่อความปลอดภัยของ Server ต้องขอผ่าน Support

คำถามที่พบบ่อย

Q: เปิด Extension เยอะๆ ทำให้เว็บช้าลงไหม?

A: มีผลเล็กน้อยเพราะแต่ละ Extension กินหน่วยความจำเพิ่ม ควรเปิดเฉพาะที่ใช้จริง การปิดตัวที่ไม่ได้ใช้ช่วยให้ PHP เบาขึ้นเล็กน้อยและลดพื้นที่โจมตี

Q: ต่างจากการติดตั้ง Extension บน VPS อย่างไร?

A: บน cPanel แค่ติ๊ก Checkbox ก็เปิดได้ทันที ส่วนบน VPS ต้องติดตั้งผ่าน Command Line และ Restart PHP-FPM เอง cPanel จึงสะดวกกว่ามากสำหรับมือใหม่ แต่จำกัดเฉพาะ Extension ที่ผู้ให้บริการเตรียมไว้

Q: เปลี่ยน Extension แล้วกระทบเว็บอื่นใน Account เดียวกันไหม?

A: ขึ้นกับการตั้งค่า ถ้าทุกโดเมนใช้ PHP Version เดียวกัน การเปลี่ยน Extension จะมีผลทั้งหมด ถ้าต้องการแยก ให้ใช้ MultiPHP กำหนดเวอร์ชันต่างกันต่อโดเมน