APACHE, PHP, NGINX – max upload file size

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
Close Menu