PHP-FPM Linux (PHP-FPM)

PHP-FPM: PHP-FPM использует другую конфигурацию php.ini, чем CLI

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

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

Команда php -i либо php --ini показывает конфигурацию PHP для командной строки, а PHP-FPM загружает собственный php.ini, дополнительные .ini и настройки пула. Различия в memory_limit, upload_max_filesize или расширениях не обязательно означают неисправность: нужно определить, какие настройки применяются к веб-запросу.

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

#Симптом и границы применимости

Команда php -i либо php --ini показывает конфигурацию PHP для командной строки, а PHP-FPM загружает собственный php.ini, дополнительные .ini и настройки пула. Различия в memory_limit, upload_max_filesize или расширениях не обязательно означают неисправность: нужно определить, какие настройки применяются к веб-запросу.

#Возможные причины и как их отличить

Возможная причинаКак узнатьЧто делать
Разные SAPI и каталоги php.iniРазные SAPI могут иметь отдельные файлы конфигурации.php --ini и значение PHP_INI_LOADED_FILE в веб-запросе отличаютсяСопоставить CLI и FPM нужной версии
В пуле задано переопределениеЗначения из пула могут иметь приоритет над общим php.ini.php_admin_value либо php_value меняют параметр для сайтаНайти переопределение в конфигурации пула
Веб-сайт работает на другой версииУстановленный CLI PHP не обязательно обслуживает сайт.PHP_VERSION веб-сайта отличается от php -vУточнить FPM и сокет домена

#Пошаговая диагностика и исправление

  1. Запишите конкретный расходящийся параметрВыполните в SSH php -v и php --ini. Запишите версию CLI и Loaded Configuration File. Не меняйте глобальный php.ini, пока не определили, какой файл использует веб-сайт.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    php -v; php --ini
  1. Определите версию FPM через конфигурацию веб-сервераНайдите fastcgi_pass в Nginx либо SetHandler/ProxyPassMatch в Apache у конкретного сайта. Сверьте путь listen соответствующего пула FPM и имя службы. Проверка php-fpm -i, если доступна в вашей сборке, относится к этому бинарному файлу, но не всегда отражает переопределения пула.
  2. Доступна на Linux; только чтение
    Linux · Терминал (Bash)КомандаНужен sudo
    Доступна на Linux; только чтение.
    sudo ss -xlpn | grep -i fpm
  1. Сделайте закрытую проверку внутри приложенияВ тестовой копии сайта создайте страницу, доступную только администратору, которая выводит PHP_VERSION, php_sapi_name(), php_ini_loaded_file(), ini_get нужного параметра и extension_loaded для нужного модуля. Не размещайте phpinfo() в открытом доступе. После проверки удалите временную страницу.
  1. Сверьте последовательность загрузки настроекПосмотрите loaded configuration file и scanned additional ini files для нужного PHP, затем файлы пула с php_value, php_admin_value и переменные окружения. Для параметров, меняемых в панели хостинга, используйте именно её интерфейс. Не копируйте конфиг CLI в FPM.
  1. Измените только правильный уровеньЕсли требуется memory_limit только одному сайту, используйте доступное для его пула переопределение согласно политике панели; если модуль не загружен, устанавливайте его для нужной версии/FPM. Сохраните копию конфигурации, проверьте синтаксис и примените в согласованное время.
  2. Исполняемый файл примерный; проверяет конфигурацию FPM указанной версии
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Исполняемый файл примерный; проверяет конфигурацию FPM указанной версии.
    sudo php-fpm8.2 -t

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

  1. Повторите независимое сравнениеЧерез закрытую страницу убедитесь, что веб-запрос получил нужный параметр и работает приложение. Сравните команду php --ini: она может оставаться другой — это допустимо. Удалите диагностическую страницу и проверьте, что её URL больше не выдаёт внутренние параметры.

#Как проверить результат

Параметр изменён именно в нужном FPM-пуле или веб-SAPI, сайт работает без ошибок, временная диагностическая страница недоступна извне и удалена.

#Если проблема не устранена

Если параметры не меняются, проверьте php_admin_value и другие переопределения, правильность выбора версии и необходимость reload выбранной FPM-службы.

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

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

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