Мне нужно перезагрузить мой php.ini, и в диалоге помощи нет ничего о его перезапуске.
184
Примечание : добавьте, sudo
если не root
Использование сценариев SysV Init напрямую:
/etc/init.d/php-fpm restart # typical
/etc/init.d/php5-fpm restart # debian-style
/etc/init.d/php7.0-fpm restart # debian-style PHP 7
Использование скрипта сервисной обертки
service php-fpm restart # typical
service php5-fpm restart # debian-style
service php7.0-fpm restart # debian-style PHP 7
Использование Upstart (например, Ubuntu):
restart php7.0-fpm # typical (ubuntu is debian-based) PHP 7
restart php5-fpm # typical (ubuntu is debian-based)
restart php-fpm # uncommon
Использование systemd (более новые серверы):
systemctl restart php-fpm.service # typical
systemctl restart php5-fpm.service # uncommon
systemctl restart php7.0-fpm.service # uncommon PHP 7
Или любой другой эквивалент в вашей системе.
which php-fpm
дает/usr/local/sbin/php-fpm
.brew services restart php56
(если вы получаете сообщение об ошибке из-за отсутствия формулы, попробуйте другую версию, например php5 или php55). Если у вас не установлены службы brew, он должен установить его для вас при первом запуске.service php-fcgi-mydomain-com restart
и мне пришлось повторять это для каждого домена с включенными сайтамиsystemctl reload php70-php-fpm
systemctl restart php5.6-fpm.service
Для Mac OS X это то, что я делаю:
Сделайте скрипт
/usr/local/etc/php/fpm-restart
:Затем:
убедитесь, что / usr / local / sbin находится в вашем $ PATH
тогда просто вызовите его из терминала fpm-restart и BOOM !!
источник
homebrew.mxcl.php*.plist
если это не сработаетКак правило, все
service php5-fpm restart
будет в порядке, на современном распространении.Но иногда это терпит неудачу, говоря вам
restart: Unknown instance:
(или тому подобное).Теперь, если вы не любите перезагружать свой сервер, просто убейте процессы и начните все сначала (отредактировано здесь):
источник
stop: Unknown instance:
)Это должно работать:
источник
killall php-fpm
php-fpm --prefix /usr/local
, создаю несколько каталогов под той, которая им нужна, и, как заявил @Keeth,pkill -USR2 -o php-fpm
проверка с помощьюpgrep -l fpm
и PID действительно меняются! У меня не было файлов или сервисов plist, чтобы воспользоваться упомянутыми в некоторых других ответах.Для Mac OSX
brew services restart php56
работал для меня.источник
У меня была проблема с перезапуском php7-fpm, потому что я не знал, как именно была названа служба. Эта функция дала мне ответ:
service --status-all
Служба php7-fpm в моем Ubuntu была вызвана
php7.0-fpm
, поэтому я сделал:service php7.0-fpm restart
источник
service --status-all
php-fpm перезапустится, если вы отправите сигнал USR2 основному процессу:
Так что нам просто нужно дать php-fpm команду записать свой pid. В этом примере я предполагаю, что вы хотите сохранить его в
/etc/private/php-fpm.pid
, а php-fpm работает как пользователь _php. Сначала добавьте эту строку в файл конфигурации:Затем создайте файл
/etc/php-fpm.pid
и убедитесь, что php-fpm имеет разрешение на его изменение:Теперь, когда в следующий раз запустится php-fpm, вы сможете получить его pid и перезапустить его так:
Или вы можете объединить их в одну команду:
источник
pkill ...
ответы и комментарии @ dialt0ne's и @ Keeth выше; короче и проще.Для меня я только что обновился через apt, и перезапуск службы не работал. Мне пришлось убить существующие процессы, прежде чем он работал, используя: killall php5-fpm
источник
Чтобы скрипт перезапуска PHP-FPM работал, вы должны указать PID-файл в вашем файле php-fpm.conf. т.е.
Значение по умолчанию для pid в php-fpm.conf - ничто, что означает не создавать файл PID, что означает, что скрипт перезапуска не может сказать, какой процесс завершить во время перезапуска.
источник
На CentOS 7
источник
На Ubuntu 16 с php 5,6 fpm.
источник
На RedHat / CentOS 7 с использованием PHP 7 от softwarecollections.org
или если вы используете systemctl:
источник
Самый простой способ найти имя сервиса php-fpm - это найти его:
источник
systemctl list-units *fpm*
В Windows:
Откройте Сервисы в Консоли управления:
Выберите
php-fpm
из спискаисточник
Для старых версий Debian & Ubuntu - PHP 5.6 это будет
источник
На Alpine с nginx это работает здесь:
Чтобы убить все процессы php-fpm7:
kill $(ps -o pid,comm | grep php-fpm7 | awk '{print $1}')
Чтобы запустить php-fpm7:
php-fpm7
источник
Для получения списка системных служб в CentOS / RHEL 7.x + используйте
Чтобы перечислить все услуги:
Где вы можете найти службу с именем * php-fpm *, скопировать имя службы и выполнить следующую команду
ПРИМЕЧАНИЕ: ea-php72-php-fpm.service пользователь ваше имя службы
источник
Еще один метод для MaxOS
Откройте ActivityMonitor, найдите php-fpm, найдите pid.
Откройте терминал, используйте
kill [pid]
для остановки php-fpmЗатем
php-fpm
на терминале, чтобы запустить его.Если есть информация об ошибке, которая уже используется 127.0.0.1:9000, просто игнорируйте ее.
Обновите страницу Nginx, чтобы изменения в php.ini вступили в силу.
источник
php-fpm
, скорее всего, запустит его не от того пользователя; игнорирование сообщений об ошибках никогда не бывает хорошей идеей.