Вопрос: Как перезапустить php-fpm?


Мне нужно перезагрузить php.ini, и в диалоговом окне справки нет ничего о перезапуске.


151
2017-10-12 01:58


Источник




Ответы:


Заметка: preend sudo если не root


278
2017-10-12 03:37



никто из них не работал - Galen
Для гуглеров (таких как я), прибывающих сюда: этот ответ был верным, но в моей системе он был назван «php5-fpm», поэтому service php5-fpm restart сделал трюк. - Matt Winckler
А как насчет Mac? php-fpm был установлен с использованием homebrew. which php-fpm дает /usr/local/sbin/php-fpm, - hobbes3
@ hobbes3 попробуйте brew services restart php56 (если вы получите сообщение об отсутствии доступной формулы, попробуйте другую версию, например php5 или php55). Если у вас нет установленных сервисов для пивоварения, он должен установить его для вас при первом запуске. - Doktor J
Мне нужен был этот: sudo service php7.0-fpm restart - Ryan


Для Mac OS X это то, что я делаю:

Сделать сценарий /usr/local/etc/php/fpm-restart:

#!/bin/sh

echo "Stopping php-fpm..."
launchctl unload -w ~/Library/LaunchAgents/homebrew-php*.plist

echo "Starting php-fpm..."
launchctl load -w ~/Library/LaunchAgents/homebrew-php*.plist

echo "php-fpm restarted"
exit 0

Затем:

chmod ug+x /usr/local/etc/php/fpm-restart
cd /usr/local/sbin
ln -s /usr/local/etc/php/fpm-restart

убедитесь, что / usr / local / sbin находится в вашей $ PATH

то просто назовите его с терминала fpm-restart и BOOM !!


29
2017-09-23 04:55



использование homebrew.mxcl.php*.plist если он не работает - Daniil Ryzhkov
github.com/Homebrew/homebrew-php#installing-multiple-versions    это случай, когда вы не можете найти файл .plist. - Frank Fang


Как правило, service php5-fpm restart будет делать все возможное, в соответствии с последним распределением.

Но иногда это терпит неудачу, говоря вам restart: Unknown instance: (или таких).

Теперь, если вам не нравится перезагружать ваш сервер, просто запустите процессы и начните новый запуск (отредактированный здесь):

$ sudo pkill php5-fpm; sudo service php5-fpm start

21
2017-08-08 11:55



Спасибо, это точно зафиксировало мою проблему. (stop: Unknown instance:) - Nilloc


Это должно работать:

pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm

11
2018-02-01 20:08



Если вы установили PHP-FPM через homebrew на Mac, первая команда работает намного лучше, чем выгрузка + загрузка plist - alanthing
OSX: killall php-fpm - ptim
В OSX приведенное выше дало мне ошибку «Неизвестный пользователь SR2». Реверсирование аргументов фиксировало это: «pkill -USR2 -o php-fpm» - Keeth
Именно то, что мне нужно было перезапустить FPM в контейнере, спасибо! - Adrian Günter
По какой-то причине я использую предварительно установленную или связанную с xcode версией php и связанной с ней -fpm, а не через Homebrew. Просто подумал, что я должен использовать то, что уже есть. Я использую комбинацию php-fpm --prefix /usr/local, создавая некоторые каталоги под тем, что ему нужно, и, как сказал @Keeth, pkill -USR2 -o php-fpm, проверяя pgrep -l fpm, и PID действительно меняются! У меня не было файлов plist или услуг, чтобы воспользоваться упомянутыми некоторыми другими ответами. - Pysis


Для Mac OSX brew services restart php56 работал на меня.


11
2017-12-30 21:25



yup, работает и для меня. Mac OS X - Mike Nguyen


php-fpm перезапустится, если вы отправляете сигнал USR2 в основной процесс:

sudo kill -USR2 php-fpm_main_process_id

Поэтому нам просто нужно указать php-fpm для записи своего pid где-то. В этом примере я предполагаю, что вы хотите сохранить его на /etc/private/php-fpm.pid, а php-fpm работает как пользователь _php. Сначала добавьте эту строку в файл конфигурации:

pid = /etc/php-fpm.pid

Затем создайте файл /etc/php-fpm.pid, и убедитесь, что у php-fpm есть разрешение на его изменение:

$ cd /etc
$ sudo touch php-fpm.pid
$ sudo chown _php php-fpm.pid
$ sudo chmod 644 php-fpm.pid

Теперь, в следующий раз, когда начнется php-fpm, вы сможете получить его pid и перезапустить его следующим образом:

$ cat /etc/php-fpm.pid
815
$ sudo kill -USR2 815

Или вы можете объединить их в одну команду:

$ sudo kill -USR2 `cat /etc/private/php-fpm.pid`

5
2018-03-12 07:01



Мне нравится @ dialt0ne's и @ Keeth's pkill ... ответ и комментарий выше; короче и проще. - Pysis
это лучше, и приятное объяснение. pkill рискует, если вы не правильно обработали процессы, убив ваши другие кластеры PHP, если вам случится, что они работают в одном окне (да, это плохая практика). - Rich K.


У меня возникла проблема с перезапуском php7-fpm, потому что я не знал, как именно была названа услуга. Эта функция дала мне ответ:

service --status-all

Служба php7-fpm в моем Ubuntu была вызвана php7.0-fpm, так я и сделал:

service php7.0-fpm restart


5
2018-03-26 08:57



+1 для service --status-all - J.D.


Для меня я только что обновился с помощью apt, и перезапуск службы не работал. Мне пришлось убить существующие процессы, прежде чем он работал, используя: killall php5-fpm


3
2017-09-25 19:24





Чтобы разрешить скрипт перезапуска PHP-FPM, вы должны указать файл PID в файле php-fpm.conf. то есть

pid = /var/run/php-fpm/php-fpm.pid

Значение по умолчанию для pid в php-fpm.conf ничего не значит, что означает не создавать PID-файл, а это значит, что сценарий перезапуска не может определить, какой процесс будет завершен во время перезапуска.


2
2018-05-11 15:03





На CentOS 7

sudo systemctl enable php-fpm // Just incase is disabled. Also ensures it starts automatically with the server

sudo systemctl start php-fpm  // Start the service

sudo systemctl stop php-fpm   // Stop the service

sudo systemctl status php-fpm  // View status

2
2018-06-28 10:44





На Ubuntu 16 с php 5.6 fpm.

 /etc/init.d/php5.6-fpm restart

2
2017-10-11 09:20