PHP-FPM (FastCGI Process Manager) – это необходимая служба, которая управляет PHP-запросами на веб-сервере. Перезапуск PHP-FPM часто требуется после внесения изменений в конфигурацию, обновления версий PHP или устранения неполадок. В этом руководстве представлены различные методы перезапуска PHP-FPM в зависимости от операционной системы вашего сервера и версии PHP.

1. Перезапуск PHP-FPM с помощью systemctl (современные системы Linux)

Большинство современных дистрибутивов Linux, включая Ubuntu, Debian, CentOS и RHEL, используют systemd для управления сервисами. Используйте следующую команду:

sudo systemctl restart php-fpm

Для конкретных версий PHP (например, PHP 7.4 или PHP 8.1) укажите версию:

sudo systemctl restart php7.4-fpm
sudo systemctl restart php8.1-fpm

Чтобы проверить состояние PHP-FPM:

sudo systemctl status php-fpm

2. Перезапуск PHP-FPM с помощью службы (старые системы)

В некоторых старых дистрибутивах Linux вместо systemctl используется команда service:

sudo service php-fpm restart

Для определенных версий PHP:

sudo service php7.4-fpm restart
sudo service php8.1-fpm restart

3. Перезапуск PHP-FPM с помощью init.d (устаревшие системы)

В устаревших системах, которые все еще полагаются на SysVinit, перезапустите PHP-FPM с помощью:

sudo /etc/init.d/php-fpm restart

Для конкретной версии PHP:

sudo /etc/init.d/php7.4-fpm restart

4. Перезагрузка PHP-FPM без разрыва соединений

Вместо полного перезапуска вы можете перезагрузить PHP-FPM, чтобы применить изменения без разрыва существующих соединений:

sudo systemctl reload php-fpm

Для определенных версий PHP:

sudo systemctl reload php7.4-fpm

5. Остановка и запуск PHP-FPM вручную

Если команда перезапуска не помогла, остановите и запустите PHP-FPM вручную:

sudo systemctl stop php-fpm
sudo systemctl start php-fpm

6. Остановка и перезапуск процессов PHP-FPM

Если PHP-FPM не реагирует на запросы, вручную убейте все процессы и перезапустите их:

sudo pkill -9 php-fpm
sudo systemctl start php-fpm

Заключение

Перезапуск PHP-FPM является важным шагом для поддержания производительности веб-сервера и применения изменений конфигурации. В зависимости от дистрибутива Linux и версии PHP, вы можете использовать systemctl, service, init.d или ручное завершение процесса для эффективного перезапуска PHP-FPM.