Назад | Перейти на главную страницу

Увеличьте максимальный размер загрузки / публикации PHP-FPM

Я запускаю 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