คำตอบสั้น ๆ: ปรับค่า memory_limit, max_execution_time, upload_max_filesize และค่าอื่นของ PHP รายโดเมนบน Plesk พร้อมวิธีตรวจว่าค่าใหม่มีผลจริงและเลือกค่าที่เหมาะสม
คู่มือนี้อธิบาย memory ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
ค่าตั้งต้นของ PHP เช่น หน่วยความจำ 128 MB หรือเวลาทำงานสูงสุด 30 วินาที เพียงพอสำหรับเว็บทั่วไป แต่เว็บที่ใช้ Page Builder ปลั๊กอินร้านค้า การนำเข้าสินค้าจำนวนมาก หรือการอัปโหลดไฟล์ใหญ่ มักชนขีดจำกัดเหล่านี้ อาการที่พบคือ Error Allowed memory size exhausted, Maximum execution time of 30 seconds exceeded, อัปโหลดไฟล์ไม่ผ่าน หรือบันทึกหน้าเมนูแล้วรายการหาย
Plesk ให้ปรับค่าเหล่านี้แยกรายโดเมนได้จากหน้าจอ โดยไม่กระทบเว็บอื่นบนเซิร์ฟเวอร์ บทความนี้อธิบายความหมายของแต่ละค่า วิธีปรับ และวิธีตรวจว่าค่าใหม่มีผลจริง ส่วนการเปลี่ยนเวอร์ชัน PHP ดูได้ที่ การเปลี่ยนเวอร์ชั่น PHP ใน Plesk
สิ่งที่ต้องเตรียม
- บัญชีเข้า Plesk Obsidian ของเว็บไซต์ ที่มีสิทธิ์ปรับตั้งค่า PHP (ผู้ให้บริการอาจล็อกบางค่าไว้ในแพ็กเกจ)
- ข้อความ Error ที่พบ เพื่อรู้ว่าต้องปรับค่าใด ดูวิธีหาได้ใน ดู Log เว็บไซต์บน Plesk เพื่อหาสาเหตุ Error
ความหมายของค่าที่ปรับบ่อย
| ค่า | ควบคุมอะไร | ค่าที่ใช้บ่อย |
|---|---|---|
memory_limit | หน่วยความจำสูงสุดที่สคริปต์หนึ่ง Request ใช้ได้ | 256M สำหรับ WordPress ทั่วไป, 512M สำหรับร้านค้าขนาดใหญ่ |
max_execution_time | เวลาสูงสุด (วินาที) ที่สคริปต์ทำงานได้ | 60-120 สำหรับงานนำเข้า/ส่งออก |
max_input_time | เวลาสูงสุดที่ใช้รับข้อมูลที่ส่งเข้ามา เช่น ไฟล์อัปโหลด | 60-120 |
post_max_size | ขนาดข้อมูลรวมสูงสุดของฟอร์มหนึ่งครั้ง | ต้องมากกว่าหรือเท่ากับ upload_max_filesize เช่น 128M |
upload_max_filesize | ขนาดไฟล์เดียวสูงสุดที่อัปโหลดได้ | 64M-128M |
max_input_vars | จำนวนฟิลด์สูงสุดในฟอร์มหนึ่งครั้ง | 3000-5000 สำหรับเมนูหรือหน้าตั้งค่าขนาดใหญ่ |
หลักง่ายๆ คือ memory_limit ควรมากกว่า post_max_size และ post_max_size ควรมากกว่าหรือเท่ากับ upload_max_filesize อย่าตั้ง memory_limit สูงเกินจำเป็น เช่น 2G เพราะถ้ามีสคริปต์ผิดพลาดหลายตัวทำงานพร้อมกัน หน่วยความจำของทั้งเซิร์ฟเวอร์อาจหมด
ขั้นตอนที่ 1: เปิดหน้าตั้งค่า PHP
- ไปที่ Websites & Domains เลือกโดเมนที่ต้องการ
- กด PHP หรือ PHP Settings (ชื่อปุ่มต่างกันตามเวอร์ชันของ Plesk ในบางมุมมองอยู่ใต้กลุ่ม Dev Tools)
- ด้านบนของหน้าจะแสดงเวอร์ชัน PHP และ Handler ที่ใช้ เช่น FPM application served by nginx หรือ FPM application served by Apache
ขั้นตอนที่ 2: ปรับค่า
- ในส่วน Performance and security settings หา
memory_limitกดลูกศรเพื่อเลือกค่าที่มีให้ หรือพิมพ์ค่าเองในช่อง เช่น256M - ปรับ
max_execution_timeเป็น120และmax_input_timeเป็น120ถ้ามีปัญหาเรื่อง Timeout - ในส่วน Common settings ปรับ
post_max_sizeและupload_max_filesizeถ้ามีปัญหาเรื่องอัปโหลด - ค่าที่ไม่มีในรายการ เช่น
max_input_varsให้เลื่อนลงไปที่ Additional configuration directives แล้วพิมพ์ในรูปแบบของ php.ini หนึ่งค่าต่อบรรทัด
max_input_vars = 5000
- กด OK หรือ Apply ที่ด้านล่างของหน้า Plesk จะเขียนการตั้งค่าและโหลด PHP ของโดเมนนั้นใหม่ให้เอง ไม่ต้อง Restart เซิร์ฟเวอร์
หมายเหตุ: ถ้าช่องใดปรับไม่ได้หรือเป็นสีเทา แปลว่าผู้ให้บริการล็อกค่านั้นไว้ในแพ็กเกจ ต้องติดต่อผู้ให้บริการ การใส่ค่าเดียวกันใน Additional configuration directives เพื่อเลี่ยงการล็อกอาจไม่มีผล หรือถูกเขียนทับเมื่อมีการซิงก์แพ็กเกจ