เพิ่มขนาดการอัพโหลด / โพสต์สูงสุดของ PHP-FPM


22

ฉันใช้ php5-fpm ภายใต้ Nginx บน Ubuntu 14.04 ฉันต้องการเพิ่มขนาดการอัปโหลดสูงสุด

ฉันได้แก้ไข/etc/php5/fpm/php.iniเพื่อให้บรรทัดต่อไปนี้มีการกำหนดไว้ด้านล่าง

upload_max_filesize = 20M post_max_size = 25M

และฉันรีสตาร์ท php5-fpm และ nginx แต่phpinfo()ยังคงแสดงข้อ จำกัด ที่ 8M และ 2M สำหรับโพสต์และอัปโหลดตามลำดับ

มีอะไรที่ฉันพลาดไปไหม


ตรวจสอบว่าเส้นทาง php.ini ใน phpinfo () เหมือนกันกับที่คุณพูดถึงคำถาม
TBI Infotech

คำตอบ:



11

ฉันมีปัญหาในการเริ่มต้นใหม่ดังนั้นฉันจึงฆ่ากระบวนการและเริ่มต้นด้วยตนเอง

sudo pkill php5-fpm
sudo service php5-fpm start

2
ดูเหมือนว่าจะเป็นความคิดเห็นเกี่ยวกับคำตอบที่ได้รับการยอมรับในปี 2014
เดฟเอ็ม

7

แทนที่จะเปลี่ยนไฟล์ php.ini ฉันจะเพิ่มข้อมูลทั้งหมดในไฟล์ที่มีในไซต์ nginx ฉันเห็นคุณได้รับคำตอบนานแล้ว แต่นี่คือวิธีที่ฉันทำ:

ใน virtualhost ของฉันภายใต้เซิร์ฟเวอร์ {} block ฉันได้เพิ่ม:

client_max_body_size 128m;

จากนั้นในบล็อก ~ .php $ {} ที่ฉันเพิ่ม:

fastcgi_param PHP_VALUE "upload_max_filesize=128M \n post_max_size=128M";


5

ปัญหานี้เกิดจากการรีสตาร์ท php5-fpm ดูเหมือนว่ามีข้อบกพร่องที่บางครั้งกระบวนการลูกบางอย่างไม่ได้ถูกยกเลิกเมื่อเริ่มต้นใหม่ ผมต้องฆ่ากระบวนการด้วยตนเองได้ระบุพวกเขาด้วยkill <process id>ps -ef

ฉันสามารถรีสตาร์ท php5-fpm ได้อย่างสมบูรณ์ซึ่งทำให้การเปลี่ยนแปลงการกำหนดค่าของฉันเป็นจริง


3

ฉันรู้ว่านี่เป็นคำถามเก่าที่ตอบแล้ว แต่ฉันต้องการแสดงความคิดเห็นที่นี่สำหรับ @harryg และคนอื่น ๆ ที่ตามมาฉัน

ปัญหาของคุณเกิดจากการเริ่มต้น php5-fpm เป็นบั๊กกี้ จากการเขียนนี้ดูเหมือนว่าปัญหาจะได้รับการแก้ไขและการรีสตาร์ท php5-fpm บน Ubuntu นั้นง่ายเหมือนการรันคำสั่งต่อไปนี้:

service php5-fpm restart

หมายเหตุ: ฉันกำลังใช้งาน php5-fpm เวอร์ชันนี้: PHP 5.5.9-1ubuntu4.9 (fpm-fcgi) (built: Apr 17 2015 11:44:58)

หวังว่าบางคนพบว่ามีประโยชน์


0

กำหนดขนาดสูงสุดที่อนุญาตของเนื้อความคำขอของลูกค้าที่ระบุในฟิลด์ส่วนหัวคำขอ“ เนื้อหายาว” นี่คือตัวอย่างของการเพิ่มขีด จำกัด เป็น 50MB ใน/etc/nginx/nginx.confไฟล์

ตั้งค่าในบล็อก http ซึ่งมีผลกับบล็อกเซิร์ฟเวอร์ทั้งหมด (โฮสต์เสมือน)

http {
    ...
    client_max_body_size 50M;
}

ตั้งค่าในบล็อกเซิร์ฟเวอร์ซึ่งมีผลกับไซต์ / แอปหนึ่ง ๆ

server {
    ...
    client_max_body_size 50M;
}

ตั้งอยู่ในบล็อกสถานที่ซึ่งมีผลกับไดเรกทอรีหนึ่ง (อัปโหลด) ภายใต้ไซต์ / แอป

location /uploads {
    ...
    client_max_body_size 50M;
} 

บันทึกไฟล์และรีสตาร์ทเว็บเซิร์ฟเวอร์ Nginx เพื่อใช้การเปลี่ยนแปลงล่าสุดโดยใช้คำสั่งต่อไปนี้

# systemctl restart nginx

การกำหนดค่า apache นี้ไม่ใช่ php
asdmin

ไม่นี่สำหรับ php5-fpm ภายใต้การกำหนดค่า Nginx
Amit Kumar

ตัวเลือกเหล่านี้เป็นตัวเลือกสำหรับ nginx's ngx_http_core_module ไม่กำหนดค่าการตั้งค่า php แน่นอน
asdmin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.