Частая ситуация когда размеры файлов, разрешенных к загрузке на сайте стоят очень маленькие. Особенно этим грешат хостинги, где ставят минимальные настройки, не особо задумываясь о потребностях клиента. Это надо изменить и здесь необходимо провести некоторые настройки PHP отвечающие за размеры. Сам набор параметров я напишу чуть ниже и обозначу за что отвечает каждый из них.
Содержание
Основные параметры
Итак что влияет на размеры файлов которые разрещены к загрузке в PHP.
upload_max_filesize — Максимальный размер загружаемого файла
Измеряется в мегабайтах или гигабайтах. Дефолтное значение: «2M»
max_file_uploads — Максимальное количество одновременных загрузок
Измеряется в цифровом количестве файлов. Дефолтное значение: «20»
post_max_size — Максимальный размер отправляемого через POST-запрос файла (Должен быть больше upload_max_filesize).
Измеряется в мегабайтах или гигабайтах. Дефолтное значение: «8M»
max_execution_time — Время в течении которого скрипт должен полностью завершить своё исполнение. Для отмены ограничений можно присвоить 0.
Измеряется в секундах или минутах. Дефолтное значение: «30»
max_input_time — Время в течении которого скрипт, должен получить и обработать все данные из POST и GET запросов.
Измеряется в секундах.
memory_limit — Ограничение на выделяемую для исполнения одного скрипта память. Для отмены ограничений, поставьте -1. Должен быть больше post_max_size.
Измеряется в мегабайтах или гигабайтах. Дефолтное значение: «128M»
Как изменить опции настройки PHP
Изменить возможно разными способами, я покажу как это сделать.
1. PHP.INI
Файл php.ini является основным файлом где хранятся настройки исполнения php скриптов. Пользовательский файл настроек обычно находится на несколько уровней выше папки www сайта. Иногда помещён в папку php-bin. Применение: опция = значение
Пример настройки добавленной в файл php.ini:
post_max_size = 512M
upload_max_filesize = 512M
max_execution_time = 3600
max_input_time = 1800
2. .HTACCESS
Файл .htaccess (или htaccess.txt) является содержанием настроек поведения сервера и обработки файлов определённого сайта. Размещается в корне сайта.
Применение: php_value опция значение
php_value post_max_size 512M
php_value upload_max_filesize 512M
php_value max_execution_time 3600
php_value max_input_time 1800
3. Любой PHP файл
Помимо вышеописанных способов, можно сделать изменение настроек к любому PHP файлу.
Применение: ini_set(‘опция’, ‘значение’);
ini_set(‘post_max_size’, ‘512M’);
ini_set(‘upload_max_filesize’, ‘512M’);
ini_set(‘max_execution_time’, ‘3600’);
ini_set(‘max_input_time’, ‘1800’);
* Необходимо учесть, что некоторые хостеры, блокируют изменение данных опций и после применения необходимо связаться с своим хостером, чтобы убедиться, что это работает.
Вопрос к автору статьи: Каким образом можно изменить параметры PHP, отвечающие за размеры файлов, разрешенных к загрузке на сайте, на хостинге?