Как установить максимальный размер загружаемого файла PHP
Как установить максимальный размер загружаемого файла PHPВ этой статье описывается, как изменить максимальный размер загружаемого файла для сценариев PHP с помощью директив upload_max_filesize и post_max_size php.
Содержание- Изменение максимального размера загружаемого файла
- Установка директив
- Дополнительная информация
Изменение максимального размера загружаемого файла
По умолчанию максимальный размер загружаемого файла для сценариев PHP составляет 128 мегабайт. Однако вы можете изменить эти ограничения. Например, вы можете установить нижний предел, чтобы пользователи не могли загружать большие файлы на ваш сайт. Для этого измените директивы upload_max_filesize и post_max_size .
Чтобы обеспечить правильную загрузку файлов, директива post_max_size должна быть немного больше, чем upload_max_filesize .
upload_max_filesize = 20M post_max_size = 21M
Чтобы проверить текущее значение директивы upload_max_filesize и других директив, вы можете использовать функция phpinfo() . Для получения дополнительной информации см. эту статью.
Установка директив
Предпочтительным способом установки директив php является использование графических инструментов в панели управления.
Для учетных записей, использующих панель управления cPanel, см. эту статью.
Об учетных записях, использующих панель управления Plesk, см. в этой статье.
Многие учетные записи также позволяют использовать собственный файл php.ini. Инструкции по созданию пользовательского файла php.ini см. в этой статье.
Дополнительная информация
- Чтобы просмотреть полный список директив php.ini , посетите http://www. php.net/manual/en/ini.list.php.
- Для получения дополнительной информации о директиве upload_max_filesize
посетите http://www.php.net/manual/en/ini.core.php#ini.upload-max-filesize. - Для получения дополнительной информации о директиве post_max_size посетите http://www.php.net/manual/en/ini.core.php#ini.post-max-size.
Детали статьи
- Уровень: Продвинутый
Другие статьи в этой категории
- Сообщения об ошибках PHP
- Регистрация ошибок PHP
- PHP часовые пояса
- Максимальное время выполнения PHP
- PHP директива allow_url_fopen
- Директива PHP register_globals
- Директива о магических кавычках PHP
- PHP максимальный размер загружаемого файла
- Ограничение памяти PHP-скрипта
- PHP директива expose_php
- PHP директива output_buffering
- Директива PHP disable_functions
Показать больше
Статьи по теме
- Изменение версий и настроек PHP с помощью PHP Selector
- Пользовательские файлы php. ini
- Использование директив php.ini
- Переключение версий PHP в Plesk
Показать больше
Развивайте свой веб-бизнес
Подпишитесь, чтобы получать еженедельные советы, стратегии и новости, необходимые для развития вашей сети бизнес.
Бесплатно. Отписаться в любое время.
Была ли эта статья полезной для вас? Тогда вам понравится наша поддержка. Испытайте преимущества хостинга A2 уже сегодня и получите предварительно защищенный и предварительно оптимизированный веб-сайт. Ознакомьтесь с нашими планами веб-хостинга сегодня.
Загрузка больших файлов > 512 МБ — Последняя версия руководства по администрированию Nextcloud последняя документация
Максимальный размер файла для загрузки по умолчанию составляет 512 МБ. Вы можете увеличить это ограничить до того, что позволяет ваша файловая система и операционная система. Есть определенные жесткие ограничения, которые не могут быть превышены:
< 2 ГБ на 32-битной архитектуре ОС
< 2 ГБ с IE6 - IE8
64-битные файловые системы имеют гораздо более высокие ограничения; обратитесь к документации по вашему файловая система.
Примечание
На клиента синхронизации Nextcloud эти ограничения на загрузку не распространяются. так как он загружает файлы небольшими порциями. См. клиентскую документацию для получения дополнительной информации о параметрах конфигурации.
Конфигурация системы
Убедитесь, что установлена последняя версия PHP
Отключение пользовательских квот, что делает их неограниченными
Ваш временный файл или раздел должен быть достаточно большим, чтобы вместить несколько параллельные загрузки от нескольких пользователей; например если максимальный размер загрузки составляет 10 ГБ и среднее количество пользователей, одновременно загружающих файлы, равно 100: временное пространство имеет вмещать не менее 10×100 ГБ
Настройка веб-сервера
Примечание
Nextcloud поставляется с собственным файлом nextcloud/.htaccess
. Потому что php-fpm
не могу прочитать настройки PHP в . htaccess
файл nextcloud/.user.ini
.Установите следующие два параметра в соответствующем файле php.ini (см. Загруженный файл конфигурации раздел версии PHP и информация для поиска соответствующие файлы php.ini)
php_value upload_max_filesize 16G php_value post_max_size 16G
Параметры upload_max_filesize
и post_max_size
могут не применяться к загрузке файлов
через запросы PUT одного файла WebDAV или загрузку файлов фрагментами
Для них тайм-ауты PHP и веб-сервера являются ограничивающим фактором для размера загрузки.
Настройте эти значения в соответствии с вашими потребностями. Если вы видите тайм-ауты PHP в своих файлах журналов, увеличьте значения времени ожидания, которые указаны в секундах:
php_value max_input_time 3600 php_value max_execution_time 3600
Модуль mod_reqtimeout
Модуль Apache также может мешать завершению больших загрузок. Если вы используете это
модуль и получить неудачную загрузку больших файлов либо отключить его в вашем Apache
конфиг или поднять настроенный RequestReadTimeout
тайм-аутов.
В конфигурации вашего веб-сервера также есть несколько других параметров конфигурации, которые может предотвратить загрузку больших файлов. См. руководство вашего веб-сервера. как правильно настроить эти значения:
Апач
Тело лимита запроса
SSLRenegBufferSize
Время ожидания
Апач с mod_fcgid
FcgidMaxRequestInMem
Фкгидмаксрекуестлен
Примечание
Если вы используете Apache/2.4 с mod_fcgid, по состоянию на февраль/март 2016 г. FcgidMaxRequestInMem
по-прежнему необходимо значительно увеличить значение по умолчанию.
чтобы избежать возникновения ошибок сегментации при загрузке больших файлов. это не обычный
, но служит обходным путем для Apache с ошибкой mod_fcgid # 51747.
Параметр FcgidMaxRequestInMem
значительно выше нормального больше не может быть
необходимо, как только ошибка № 51747 будет исправлена.
Apache с mod_proxy_fcgi
Время ожидания прокси-сервера
нгинкс
client_max_body_size
fastcgi_read_timeout
client_body_temp_path
Начиная с nginx 1.7.11 новая опция конфигурации fastcgi_request_buffering
доступен. Установка для этого параметра значения fastcgi_request_buffering off;
в вашей конфигурации nginx
может помочь с тайм-аутами во время загрузки. Кроме того, это помогает, если у вас заканчивается
дисковое пространство в разделе tmp вашей системы.
Примечание
Убедитесь, что client_body_temp_path
указывает на раздел с
достаточно места для размера вашего загружаемого файла и на том же разделе, что и upload_tmp_dir
или tempdirectory
(см. ниже). Для оптимального
производительности, поместите их на отдельный жесткий диск, предназначенный для
подкачка и временное хранилище.
Если ваш сайт находится за внешним интерфейсом nginx (например, балансировщиком нагрузки):
По умолчанию загрузка будет ограничена 1 ГБ из-за proxy_buffering
и proxy_max_temp_file_size
на внешнем интерфейсе.
Если вы можете получить доступ к конфигурации внешнего интерфейса, отключите proxy_buffering или увеличьте размер proxy_max_temp_file_size по умолчанию с 1 ГБ.
Если у вас нет доступа к внешнему интерфейсу, установите для заголовка X-Accel-Buffering значение
add_header X-Accel-Buffering no;
на вашем внутреннем сервере.
Настройка PHP
Если вы не хотите использовать Nextcloud .htaccess
или .user.ini
, вы можете
вместо этого настройте PHP. Обязательно закомментируйте все строки
относящийся к размеру загрузки, если вы его ввели.
Если вы используете Nextcloud в 32-разрядной системе, любая директива open_basedir
в файле php.ini
необходимо закомментировать.
Установите следующие два параметра внутри php.ini
, используя свои собственные настройки.
значения размера файла:
upload_max_filesize = 16G post_max_size = 16G
Сообщите PHP, какой временный каталог вы хотите использовать:
upload_tmp_dir = /var/big_temp_file/
Буферизация вывода должна быть отключена в .htaccess
или .user.ini
или php.ini
или PHP
вернет ошибки, связанные с памятью:
Настройка Nextcloud
В качестве альтернативы upload_tmp_dir
PHP (например, если у вас нет доступа к php.ini
) вы также можете настроить временное место для загруженных файлов с помощью tempdirectory
в вашем config.php
(см. Параметры конфигурации).