LAMP+NGINX. Размер загружаемого файла указывается в настройках каждого ПО стека, состоящего из реверс-прокси Nginx, Apache и mod_php
Nginx. client_max_body_size задается на уровнях http, server и location
http/server/location {
#...
client_max_body_size 128M;
#...
}
PHP. Настройки находятся в php.ini, или ином определяемом конфигурационном файле.
ВАЖНО соблюдать: memory_limit > post_max_size > upload_max_filesize. А также
; Максимально разрешенный размер для загружаемых файлов. upload_max_filesize = 120M ; Максимальный размер POST запросов, которые PHP будет обрабатывать. post_max_size = 128M
Также настройки PHP можно устанавливать в настройках виртуалхоста Apache директивами php_admin_value
php_admin_value upload_max_filesize 120M
php_admin_value post_max_size 128M
При установке высоких значений необходимо также установить адекватные значения (в секундах):
; max время, в течение которого скрипт должен разобрать входные данные php_value max_input_time 360 ; max время, в течение которого скрипт должен полностью загрузиться php_value max_execution_time 360
Или в конфигурации виртуалхоста
; max время, в течение которого скрипт должен разобрать входные данные php_admin_value max_input_time 360 ; max время, в течение которого скрипт должен полностью загрузиться php_admin_value max_execution_time 360
Apache. Вместе с двумя полезными опциями.
# MAX Post file size, bytes
# 2147483647 = 2 Gb
# 268435455 = 0,25 Gb
LimitRequestBody 268435455
# Cookie size (в некоторых системах где в куки много информации)
LimitRequestFieldSize 32760
# Исправление ошибки request failed: URI too long (longer than 8190)
LimitRequestLine 32760