
ทำไมต้องตั้งค่า PHP สำหรับ WordPress
เมื่อติดตั้ง WordPress แล้ว หลายคนมักลืมตั้งค่า PHP ให้เหมาะสม ผลคือ WordPress ทำงานได้ไม่เต็มประสิทธิภาพ Plugin ทำงานผิดปกติ หรือเกิด Error ที่ยุ่งยากต่อการแก้ไข การตั้งค่า PHP ให้ถูกต้องตั้งแต่เริ่มต้นจะช่วยให้เว็บไซต์ WordPress ของคุณทำงานได้อย่างเสถียรและเร็ว
บทความนี้จะสอนวิธีตั้งค่า PHP ให้เหมาะสมสำหรับ WordPress บนเซิร์ฟเวอร์ที่ใช้ DirectAdmin Control Panel โดยจะอธิบายการตั้งค่า PHP Version, Memory Limit, Upload File Size และตัวเลือกสำคัญอื่นๆ
PHP Version ที่เหมาะสำหรับ WordPress
WordPress ต้องการ PHP เวอร์ชันอย่างน้อย 7.4 ขึ้นไป โดยตัวอักษร WordPress เองแนะนำให้ใช้ PHP 8.0 หรือสูงกว่า เพราะเวอร์ชั่นใหม่มีความเร็วที่ดีกว่า ความปลอดภัยสูงขึ้น และมีฟีเจอร์ใหม่ๆ ที่เป็นประโยชน์
PHP 7.4 ยังคงรองรับไป แต่เจาะจง ให้ใช้ PHP 8.0, 8.1 หรือ 8.2 เพื่อได้ประโยชน์สูงสุด ยิ่งไปกว่านั้น WordPress พร้อมที่จะเลิกรองรับ PHP 7.4 ในอนาคต ดังนั้นการอัปเกรด PHP ทำนองนี้เป็นการลงทุนในอนาคตของเว็บไซต์ของคุณ
เคล็ดลับ: ตรวจสอบว่า Plugin ทั้งหมดรองรับ PHP version ที่ต้องการก่อนตัดสินใจเลือกเวอร์ชั่น
Memory Limit WordPress ควรตั้งเท่าไหร่
Memory Limit คือปริมาณหน่วยความจำที่ WordPress ได้รับ หากตั้งต่ำเกินไป WordPress จะแสดง Error "Allowed memory size exhausted" ทำให้เว็บล่ม
ค่าที่เหมาะสม:
- 128 MB — ค่าต่ำสุด สำหรับเว็บขนาดเล็กที่ไม่มี Plugin มากนัก
- 256 MB — ค่าแนะนำสำหรับเว็บทั่วไป ที่มี Plugin 10-20 ตัว
- 512 MB ขึ้นไป — สำหรับเว็บที่มี Plugin เยอะ ต้องการอัปโหลดไฟล์ใหญ่บ่อยๆ หรือใช้ Plugin Backup/Import
หากเว็บของคุณเจอ Error เรื่อง Memory ให้เพิ่ม Memory Limit ขึ้นเรื่อยๆ จนกว่า Error หายไป
วิธีเข้า PHP Settings ใน DirectAdmin
ขั้นตอนแรกคือเข้า Control Panel DirectAdmin เพื่อเข้าถึงการตั้งค่า PHP
- เข้า DirectAdmin Control Panel ด้วย user และ password
- ในเมนูด้านบน คลิก "Advanced Features" หรือ "PHP Settings" (ตำแหน่งอาจแตกต่างไปตามเวอร์ชั่น DirectAdmin)
- เลือก Domain ที่ต้องการตั้งค่า PHP
- ให้เลือก "PHP Mode" ก่อนว่าเป็น FastCGI, CGI, CLI หรือ Module (แนะนำใช้ FastCGI เพื่อประสิทธิภาพที่ดี)
- คลิก "Manage PHP Configs" เพื่อเข้าหน้าตั้งค่า PHP
หลังจากนั้น จะเห็นตัวเลือกต่างๆ ที่สามารถแก้ไขได้ ดังอธิบายต่อไปนี้
ตั้งค่า upload_max_filesize และ post_max_size
ค่าสองตัวนี้ควบคุมขนาดไฟล์ที่สามารถอัปโหลดได้ เมื่อต้องการอัปโหลดรูปภาพหรือ Plugin ใหญ่ๆ ต้องเพิ่มค่าเหล่านี้ให้เหมาะสม
- upload_max_filesize — ขนาดไฟล์ที่อัปโหลดได้สูงสุด แนะนำตั้ง 100 MB ขึ้นไป
- post_max_size — ขนาด POST request สูงสุด ต้องตั้ง >= upload_max_filesize
สำคัญ: ตั้ง post_max_size ให้เท่ากับหรือใหญ่กว่า upload_max_filesize ไม่งั้น อัปโหลดจะล้มเหลว
ตัวอย่างการตั้งค่า:
upload_max_filesize = 100M post_max_size = 100M
max_execution_time สำหรับการรัน Script ที่ใช้เวลานาน
max_execution_time ควบคุมว่า PHP Script อาจรัน(ทำงาน)นานเท่าไหร่โดยไม่หยุด ค่าเริ่มต้นมักเป็น 30 วินาที แต่สำหรับ WordPress ที่มี Plugin Import หรือการสำรองข้อมูล อาจต้องใช้เวลายาวขึ้น
ค่าที่แนะนำ:
- 60 วินาที — สำหรับการใช้งานทั่วไป
- 300 วินาที (5 นาที) — สำหรับการ Import ข้อมูล Backup
- 600 วินาที (10 นาที) — สำหรับหน้าจอ admin ที่ต้องใช้เวลาในการประมวลผลข้อมูลเยอะๆ
max_execution_time = 300
memory_limit เพิ่มเติมสำหรับ WordPress
นอกจากการตั้ง Memory Limit ทั่วไปแล้ว WordPress ยังใช้ wp-config.php เพื่อตั้ง Memory Limit เพิ่มเติม ถ้า Server ยอมให้ต้องการสูงกว่าค่า Server ที่ตั้งไว้
เข้า wp-config.php เพื่อเพิ่มบรรทัดต่อไปนี้:
define( 'WP_MEMORY_LIMIT', '512M' ); define( 'WP_MAX_MEMORY_LIMIT', '1024M' );
WP_MAX_MEMORY_LIMIT สำหรับ WordPress admin ยอมให้ใช้หน่วยความจำมากขึ้น เพื่อช่วยกับการ Backup Restore Plugin Upload
ตั้งค่า opcache สำหรับความเร็ว
opcache เป็นระบบ Caching ที่เก็บ PHP bytecode ไว้ในหน่วยความจำ ทำให้ Server ไม่ต้องแปล PHP code ทุกครั้ง ผลคือเว็บจะเร็วขึ้นมาก แนะนำให้เปิด opcache ไว้
ตัวเลือก opcache ที่ควรตั้ง:
- opcache.memory_consumption — ตั้ง 128MB ขึ้นไป
- opcache.max_accelerated_files — ตั้ง 4000-10000 ขึ้นอยู่กับจำนวน PHP files
- opcache.revalidate_freq — ตั้ง 0 เพื่อให้ opcache refresh ทุกครั้ง (ในโหมด development) หรือ 60 ในโหมด production
ตรวจสอบการตั้งค่า PHP ว่าถูกต้องหรือไม่
หลังตั้งค่า PHP เสร็จแล้ว ควรตรวจสอบว่าการตั้งค่ากำลังมีผล วิธีง่ายๆ คือ สร้างไฟล์ phpinfo.php ใน root ของ WordPress แล้วเข้าชม
<?php phpinfo(); ?>
อัปโหลดไฟล์นี้ แล้วเข้าชม `yourdomain.com/phpinfo.php` เพื่อดูรายละเอียด PHP ทั้งหมด ตรวจสอบว่า memory_limit, upload_max_filesize, max_execution_time ตรงกับที่ตั้งไว้
ข้อควรระวัง: อย่าลืมลบ phpinfo.php หลังจากเช็คเสร็จ เพื่อความปลอดภัย ไม่ให้ใครสามารถมองเห็นข้อมูล Server ได้
ปัญหาทั่วไปเมื่อตั้งค่า PHP ผิด
การตั้งค่า PHP ที่ไม่เหมาะสมจะทำให้เกิดปัญหาหลากหลาย รูปภาพไม่อัปโหลดได้ Plugin import/backup ใช้ไม่ได้ หรือเว็บค่อยๆ ช้า
- Fatal error: Allowed memory size exhausted — Memory Limit ต่ำเกินไป ให้เพิ่มขึ้น
- 413 Request Entity Too Large — post_max_size หรือ upload_max_filesize ต่ำเกินไป
- 502 Bad Gateway — max_execution_time สั้นเกินไป หรือ PHP Mode ไม่เหมาะสม
- Plugin ทำงานช้า หรือใช้ไม่ได้ — PHP Version เก่าเกินไป หรือ Module บางตัว disable ไป
สรุปค่าที่แนะนำสำหรับ WordPress
ตามสรุป นี่คือค่าที่ดีที่สุดสำหรับ WordPress ทั่วไป:
- PHP Version: 8.0, 8.1 หรือ 8.2
- Memory Limit: 256MB - 512MB
- upload_max_filesize: 100MB
- post_max_size: 100MB
- max_execution_time: 300 วินาที (5 นาที)
- opcache.memory_consumption: 128MB
หากเว็บมี Plugin เยอะหรือจำนวน Traffic สูง ให้เพิ่มค่าเหล่านี้ขึ้นไปเรื่อยๆ จนกว่าเว็บทำงานได้อย่างเสถียร
พร้อมเริ่มต้นกับ AsiaGB Hosting?
โฮสติ้งคุณภาพสูง SSD บนเซิร์ฟเวอร์ไทยและสิงคโปร์ Uptime 99% รองรับ WordPress พร้อม DirectAdmin
ดูแพ็กเกจ Hosting