Answers:
注意:如果不是root,请加上sudo
直接使用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
或系统上的任何等效物。
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
:
#!/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调用它!
homebrew.mxcl.php*.plist
如果无法使用,请使用
通常,service php5-fpm restart
在最新的发行版中,它将做的很好。
但是有时,它会失败,并告诉您restart: Unknown instance:
(或诸如此类)。
现在,如果您不希望重新引导服务器,只需终止进程并重新开始(此处已编辑):
$ sudo pkill php5-fpm; sudo service php5-fpm start
stop: Unknown instance:
)
这应该工作:
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
killall php-fpm
php-fpm --prefix /usr/local
,在需要的目录下创建一些目录,如@Keeth所述pkill -USR2 -o php-fpm
,通过进行检查pgrep -l fpm
,并且PID确实发生了变化!我没有plist文件或服务可以利用其他答案中提到的优势。
如果向主进程发送USR2信号,则php-fpm将重新启动:
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`
pkill ...
答案和评论;更短更简单。
在RedHat / CentOS 7上,使用来自softwarecollections.org的PHP 7
service rh-php70-php-fpm start
service rh-php70-php-fpm stop
service rh-php70-php-fpm reload
service rh-php70-php-fpm restart
service rh-php70-php-fpm status
或者,如果您使用的是systemctl:
systemctl start rh-php70-php-fpm
systemctl stop rh-php70-php-fpm
systemctl reload rh-php70-php-fpm
systemctl restart rh-php70-php-fpm
systemctl status rh-php70-php-fpm
查找php-fpm服务名称的最简单方法是搜索它:
systemctl -l --type service --all | grep fpm
systemctl list-units *fpm*
要列出CentOS / RHEL 7.x +上的系统服务,请使用
系统控制
列出所有服务:
systemctl列表单元文件
在哪里可以找到名为* php-fpm *的服务,请复制服务名称并运行以下命令
systemctl重新启动ea-php72-php-fpm.service
注意: ea-php72-php-fpm.service用户您的服务名称
which php-fpm
给/usr/local/sbin/php-fpm
。