PHP-FPM Linux, PHP-FPM (версия уточняется)

PHP-FPM: После изменения php_admin_value не меняется лимит загрузки

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Настройка php_admin_value в файле пула PHP-FPM не обязательно меняет максимальный размер загрузки: применима только к запросам данного пула, может быть ограничена более низким post_max_size и настройками веб-сервера. Сначала найдите реальный источник ограничения.

В этой статье
  1. Что происходит и когда применима инструкция
  2. Причины и диагностические признаки
  3. Подробная пошаговая инструкция
  4. Как проверить, что проблема исправлена
  5. Если не помогло — дальнейшая диагностика и откат

#Что происходит и когда применима инструкция

Настройка php_admin_value в файле пула PHP-FPM не обязательно меняет максимальный размер загрузки: применима только к запросам данного пула, может быть ограничена более низким post_max_size и настройками веб-сервера. Сначала найдите реальный источник ограничения.

#Причины и диагностические признаки

Возможная причинаКак узнатьЧто делать
Отредактирован не тот пулОтредактирован не тот пул. В CLI значение одно, на сайте другое, или сайт использует другой сокет.В CLI значение одно, на сайте другое, или сайт использует другой сокет.Найти пул по listen и проверить параметры через веб.
Ограничивает post_max_size или проксиОграничивает post_max_size или прокси. Файл не попадает в $_FILES при превышении post_max_size либо сервер возвращает 413.Файл не попадает в $_FILES при превышении post_max_size либо сервер возвращает 413.Согласовать ограничения PHP и Nginx/Apache.
Ошибки в написании или приоритетах php_admin_valueОшибки в написании или приоритетах php_admin_value. Изменения не применены из-за опечатки или неподходящего синтаксиса.Изменения не применены из-за опечатки или неподходящего синтаксиса.Сравнить настройки pool.d и результаты phpinfo/ini_get на сайте.

#Подробная пошаговая инструкция

  1. Проверьте размер тестового файла и точный ответЧерез обычную форму загрузите маленький файл и файл чуть больше предполагаемого лимита. Зафиксируйте HTTP-статус и код $_FILES[имя][error] в приложении без передачи чужих данных. Код 1 означает превышение upload_max_filesize, код 2 — ограничение формы; 413 часто выдаёт прокси до PHP.
  1. Найдите реальный пул и текущее значение PHP в веб-контекстеНе ориентируйтесь на php -i в SSH. Сделайте закрытый для посторонних диагностический маршрут или страницу phpinfo только в защищённой панели, просмотрите Loaded Configuration File, Additional .ini files, upload_max_filesize и post_max_size, затем сразу удалите тест.
  2. SSH с правами администратора, поиск кандидатов в Debian/Ubuntu
    Linux · Терминал (Bash)КомандаНужен sudo
    SSH с правами администратора, поиск кандидатов в Debian/Ubuntu. Приоритет определяется конкретным пулом и возможной настройкой FastCGI, а не порядком вывода grep.
    sudo grep -R -nE "^\s*(\[|listen\s*=|php_admin_value\[(upload_max_filesize|post_max_size)\])" /etc/php/*/fpm/pool.d/*.conf
  1. Проверьте обе границы и общий размер тела запросаВ PHP upload_max_filesize ограничивает отдельный файл, а post_max_size — всё тело POST, включая поля формы. Выберите post_max_size с запасом относительно upload_max_filesize. Проверьте client_max_body_size в Nginx или ограничения запросов в Apache/прокси. Не увеличивайте размеры без проверки свободного диска и политики безопасности.
  1. Сохраните исходный файл и измените нужные директивыСделайте резервную копию своего pool.d и используйте корректный синтаксис без единиц байтов с пробелами: php_admin_value[upload_max_filesize] = 16M и php_admin_value[post_max_size] = 20M как пример, а не универсальная рекомендация. Директивы php_admin_value нельзя отменить ini_set в скрипте.
  2. SSH на Debian с PHP 8.2, администратор
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    SSH на Debian с PHP 8.2, администратор. -t проверяет синтаксис, reload применяет конфигурацию; подставьте свой экземпляр. Ожидаемый результат — успешный тест и работающая служба.
    sudo php-fpm8.2 -t && sudo systemctl reload php8.2-fpm

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

  1. Испытайте изменения на небольшом файле и на границеВеб-форма должна принять файл в разрешённых пределах, отклонить заведомо слишком большой файл понятным сообщением и не создавать частичных файлов. Не выводите raw $_FILES в публичную страницу. Проверьте также свободное место в upload_tmp_dir.
  1. Убедитесь, что ограничения согласованы на всех уровняхЕсли PHP показывает новое значение, но всё ещё 413, просмотрите конфигурацию Nginx/балансировщика. Если форма всё ещё отвергает при меньшем размере — ищите собственный лимит приложения, JavaScript или параметр MAX_FILE_SIZE в форме.

#Как проверить, что проблема исправлена

Веб-окружение показывает ожидаемые upload_max_filesize и post_max_size, загрузка проходит до установленного предела и корректно отклоняется при превышении.

#Если не помогло — дальнейшая диагностика и откат

При невозможности изменить значение в панели хостинга попросите провайдера проверить директивы уровня администратора и назначение пула; не пытайтесь обойти лимит изменением php.ini CLI.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.