Я запускаю php5-fpm под Nginx на Ubuntu 14.04. Я хочу увеличить максимальный размер загрузки.
Я отредактировал свой /etc/php5/fpm/php.ini
чтобы следующие строки были определены, как показано ниже:
upload_max_filesize = 20M
post_max_size = 25M
и я перезапустил php5-fpm и nginx, но phpinfo()
по-прежнему показывает лимиты 8 и 2 млн для публикации и загрузки соответственно.
Что я здесь пропустил?
Nginx
client_max_body_size
PHP
post_max_size
upload_max_filesize
И перезапустите или перезагрузите.
Источник: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
У меня возникла проблема с перезапуском, поэтому я просто остановил процесс и запустил его вручную.
sudo pkill php5-fpm
sudo service php5-fpm start
Вместо изменения файла php.ini я добавляю всю информацию в файлы, доступные для сайтов nginx. Я вижу, вы давно получили свой ответ, но я делаю это так:
В моем виртуальном хосте под блоком server {} я добавил:
client_max_body_size 128m;
Затем в блоке location ~ .php $ {} я добавил:
fastcgi_param PHP_VALUE "upload_max_filesize=128M \n post_max_size=128M";
Проблема заключалась в перезапуске php5-fpm. Кажется, есть ошибка, из-за которой иногда некоторые дочерние процессы не завершаются при перезапуске. Мне пришлось вручную убить процессы с помощью kill <process id>
идентифицировав их с ps -ef
.
Затем я смог полностью перезапустить php5-fpm, что внесло изменения в мою конфигурацию.
Я знаю, что это старый вопрос, на который уже был дан ответ. Но я хотел прокомментировать здесь @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)
Надеюсь, кто-то сочтет это полезным.
Он устанавливает максимально допустимый размер тела запроса клиента, указанный в поле заголовка запроса Content-Length. Вот пример увеличения лимита до 50 МБ в /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