PHP-FPM Linux

PHP-FPM: unable to bind listening socket

  • Обновлено
  • Чтение ≈ 2 минуты

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

PHP-FPM unable to bind listening socket появляется, когда сокет занят, каталог недоступен или порт уже используется другим процессом. Проверьте journalctl конкретного пула, параметры listen и владельца каталога /run/php, затем найдите процесс, использующий адрес.

В этой статье
  1. Что означает сообщение
  2. Как отличить причины
  3. Пошаговое решение
  4. Что важно перед исправлением

#Что означает сообщение

Сообщение
unable to bind

PHP-FPM unable to bind listening socket появляется, когда сокет занят, каталог недоступен или порт уже используется другим процессом. Нельзя исправлять это удалением произвольного сокета.

#Как отличить причины

Возможная причинаКак узнатьЧто делать
Сокет занятСравните момент появления признака «Сокет занят» с тем, когда ранее работала нужная функция. Важно сопоставить проверку с исходным симптомом, а не с догадкой.Исправляйте только подтверждённый фактор «Сокет занят», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие.
ПраваУточните, какой пользователь и к какому объекту обращается; проверьте сообщение об отказе, состояние учётной записи и требуемую роль. Учитывайте версию PHP-FPM и условия сбоя.Для случая «PHP-FPM: unable to bind listening socket» восстановите конкретное разрешение или штатную процедуру входа. Изменения вносите по одному, с возможностью возврата.
КаталогПри диагностике «PHP-FPM: unable to bind listening socket» уточните, какой файл, каталог или запись вызывает отказ, и сравните время её изменения с началом ошибки. Учитывайте версию PHP-FPM и условия сбоя.Для случая «PHP-FPM: unable to bind listening socket» исправляйте целевой файл или запись и оставляйте исходник на случай отката. Для проверки результата повторите только прежнее действие.
Конфликт версийСопоставьте дату сбоя с версией установленного пакета, требуемой платформой и последним обновлением. Учитывайте версию PHP-FPM и условия сбоя.Для случая «PHP-FPM: unable to bind listening socket» используйте только поддерживаемую сборку изготовителя, сохранив возможность возврата. Изменения вносите по одному, с возможностью возврата.

#Пошаговое решение

  1. Зафиксируйте ошибку и проверьте условияЕсли служба PHP-FPM показывает unable to bind listening socket, запишите имя и путь сокета или порт из journalctl -u имя-службы -n 100 --no-pager. Убедитесь, что проверяете версию PHP конкретного домена, а не соседний обработчик на том же сервере.
  2. Выполните основную проверку и исправлениеСверьте listen = ... в настройках всех активных пулов и посмотрите, какой процесс занимает адрес, через ss -lxnp для файлов сокетов или ss -ltnp для сетевых портов. Два процесса не смогут одновременно слушать один и тот же Unix-сокет, даже если имена пулов различаются.
  3. Исключите другие подтверждённые причиныЕсли обнаружен конфликт между пулами, после копирования конфигурации измените путь только у неправильно настроенного пула и соответствующий fastcgi_pass Nginx. При жалобе на права проверьте владельца каталога /run/php и listen.owner, listen.group, listen.mode; не ставьте разрешение 0777.
  4. Проверьте, действительно ли проблема решенаПроверьте конфигурацию средствами установленной версии (php-fpm8.3 -t — только пример для 8.3), затем запустите нужную службу и проверьте появление слушателя. После этого откройте PHP-страницу и журнал Nginx: исчезновение ошибки запуска без ответа сайта ещё не означает правильную настройку.

#Что важно перед исправлением

Не удаляйте активный socket-файл и не убивайте процессы без проверки: это отключит обслуживаемые сайты. Перед рестартом выполните проверку конфигурации PHP-FPM.

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

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

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