วิธีแก้ไขปัญหาการอัปโหลดไฟล์เกินขนาดที่กำหนดใน PHP
Error text: file_name" has failed to upload due to an error - This file exceeds the maximum upload size for this site. You will need to increase the allowed memory in your php.ini file. The instructions below will show you on how to fix the php memory error by adjusting the appropriate sections of your local php.ini file.
หากคุณพบข้อความแสดงข้อผิดพลาดว่า `"file_name" อัปโหลดไม่สำเร็จเนื่องจากข้อผิดพลาด - ไฟล์นี้มีขนาดเกินกว่าขนาดสูงสุดที่อนุญาตสำหรับเว็บไซต์นี้` สาเหตุอาจมาจากการตั้งค่าขนาดสูงสุดของการอัปโหลดไฟล์ใน PHP ที่ถูกกำหนดไว้ต่ำกว่าขนาดไฟล์ที่คุณพยายามอัปโหลด คุณสามารถแก้ไขข้อผิดพลาดนี้ได้โดยการปรับขนาดหน่วยความจำและการอัปโหลดไฟล์ในไฟล์ `php.ini` ดังนี้:
#### การตั้งค่า PHP ในไฟล์ php.ini
เพิ่มหรือปรับค่าต่อไปนี้ในไฟล์ `php.ini` ของคุณ:
memory_limit = 128M
upload_max_filesize = 128M
post_max_size = 128M
- **memory_limit** : ขนาดสูงสุดของหน่วยความจำที่ PHP สามารถใช้
- **upload_max_filesize** : ขนาดสูงสุดของไฟล์ที่สามารถอัปโหลดได้
- **post_max_size** : ขนาดสูงสุดของข้อมูลที่สามารถส่งผ่านคำสั่ง POST ได้
#### ตำแหน่งไฟล์ php.ini ตาม Control Panel ที่ใช้
- **VestaCP:**
vi /etc/php.ini
- **DirectAdmin:**
vi /usr/local/php/lib/php.ini
หรือ
vi /usr/local/phpXX/lib/php.ini
(โดย `phpXX` คือเวอร์ชันของ PHP ที่คุณใช้งาน เช่น `php74`)
- **DirectAdmin รุ่นใหม่ (Nginx + Apache):**
printf "memory_limit = 128M\npost_max_size = 128M\nupload_max_filesize = 128M\n" >> /usr/local/phpXX/lib/php.conf.d/50-webapps.ini
/bin/systemctl restart httpd.service
/bin/systemctl restart nginx.service
- **OpenLiteSpeed:**
printf "memory_limit = 128M\npost_max_size = 128M\nupload_max_filesize = 128M\n" >> /usr/local/phpXX/lib/php.conf.d/custom.ini
systemctl restart lsw
> **หมายเหตุ**: แทน `phpXX` ด้วยเวอร์ชัน PHP ที่คุณใช้งาน เช่น `php74`
หลังจากแก้ไขไฟล์และบันทึกการเปลี่ยนแปลงแล้ว ให้รีสตาร์ทเซิร์ฟเวอร์เว็บของคุณเพื่อให้การตั้งค่ามีผล