我需要重新加载php.ini,帮助对话框中没有有关重新启动它的内容。
#1 楼
注意:如果不是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
或系统上的任何等效物。
#2 楼
对于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
–丹尼尔·里兹科夫(Daniil Ryzhkov)
15年8月11日在20:21
如果您找不到.plist文件,请访问github.com/Homebrew/homebrew-php#installing-multiple-versions。
–坦率的芳
16-09-5在1:22
brew服务基本上可以完成脚本的工作。
–秋浪
19年1月23日在7:58
#3 楼
通常,在最新的发行版中,service php5-fpm restart
可以正常工作。不喜欢重新启动服务器,只是终止进程并重新开始(在此处进行编辑):$ sudo pkill php5-fpm; sudo service php5-fpm start
评论
谢谢,这正是我的问题。 (停止:未知实例:)
– Nilloc
16年8月31日在15:00
#4 楼
这应该起作用:pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
评论
如果您在Mac上通过Homebrew安装了PHP-FPM,则第一个命令的效果要比卸载+加载plist更好
–艾伦·艾维(Alan Ivey)
13年7月19日在21:01
OSX:killall php-fpm
– ptim
14年8月22日在14:28
在OSX上,上面给了我一个错误“未知用户SR2”。反转参数即可解决问题:“ pkill -USR2 -o php-fpm”
–基思
2015年1月9日在11:44
正是我需要在容器中重新启动FPM所需要的,谢谢!
– AdrianGünter
2015年10月27日,0:32
我出于某种原因而不是通过Homebrew使用预先安装的或与xcode捆绑在一起的php版本及其关联的-fpm。只是认为我应该使用已经存在的东西。我正在使用php-fpm --prefix / usr / local的组合,在需要的目录下创建一些目录,正如@Keeth所说,pkill -USR2 -o php-fpm,用pgrep -l fpm检查,以及PID确实改变了!我没有plist文件或服务可以利用其他答案中提到的优势。
–解毒
17年8月10日在3:41
#5 楼
对于Mac OSX,brew services restart php56
为我工作。评论
是的,也为我工作。 Mac OSX
–迈克·阮(Mike Nguyen)
17年5月24日下午5:15
#6 楼
重新启动php7-fpm时出现问题,因为我不知道该服务的确切命名。此函数给了我答案:service --status-all
我的Ubuntu中的php7-fpm服务称为
php7.0-fpm
,所以我这样做了: />评论
+1服务-状态全部
– J.D.
17年12月13日在23:33
#7 楼
如果向主进程发送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`
评论
我喜欢@ dialt0ne和@Keeth的技巧...以上的答案和评论;更短更简单。
–解毒
17年8月10日在3:43
这是更好的,很好的解释。如果您没有正确匹配进程,则pkill会冒着使其他PHP群集在同一盒子上运行的情况杀死其他PHP群集的风险(是的,这是一种不好的做法)。
– Rich K.
17-10-30在16:47
#8 楼
对我来说,我刚刚通过apt升级,但服务重启无法正常进行。我最终需要使用以下命令杀死现有进程:killall php5-fpm#9 楼
要允许PHP-FPM重新启动脚本工作,必须在php-fpm.conf文件中使用指定PID文件。 iepid = /var/run/php-fpm/php-fpm.pid
php-fpm.conf中pid的默认值为空,这意味着不创建PID文件,这意味着重新启动脚本无法告诉重启过程结束的过程。
#10 楼
在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
#11 楼
在php 5.6 fpm的Ubuntu 16上。 /etc/init.d/php5.6-fpm restart
#12 楼
在RedHat / CentOS 7上,使用来自softwarecollections.org的PHP 7service 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
#13 楼
查找php-fpm服务名称的最简单方法是对其进行搜索:systemctl -l --type service --all | grep fpm
评论
您可以简化一下:systemctl list-units * fpm *
–迈克尔·汉普顿
19-3-17在16:40
#14 楼
在Windows上:在管理控制台中打开服务:
Start -> Run -> "services.msc" -> OK
从列表中选择
php-fpm
右键单击并选择重新启动
#15 楼
对于旧版本的debian和ubuntu-php 5.6,它将是 /etc/init.d/php-fpm56 restart
service php-fpm56 restart
#16 楼
在带有nginx的Alpine上,它在这里起作用:要杀死所有php-fpm7进程:
kill $(ps -o pid,comm | grep php-fpm7 | awk '{print }')
要启动php-fpm7:
php-fpm7
#17 楼
要在CentOS / RHEL 7.x +上列出系统服务,请使用systemctl
要列出所有服务:
systemctl list-unit-files
在哪里可以找到名为* php-fpm的服务*复制服务名称并运行以下命令
systemctl重新启动ea-php72-php-fpm.service
注意:ea-php72-php-fpm.service用户您的服务名称
#18 楼
MaxOS的另一种方法打开ActivityMonitor,搜索php-fpm,找到pid。
打开终端,使用
kill [pid]
停止php-fpm ,然后在终端上启动
php-fpm
。如果存在127.0的错误信息。 0.1:9000已经在使用中,请忽略它。
刷新Nginx页面,应该看到php.ini更改生效。
评论
什么是MaxOS?仅运行php-fpm很有可能在错误的用户下运行它。忽略错误消息绝不是一个好主意。
–杰拉德·施耐德(Gerald Schneider)
19-09-23在8:44
评论
在Mac上呢? php-fpm是使用自制软件安装的。哪个php-fpm给出了/ usr / local / sbin / php-fpm。
–hobbes3
13年3月16日在23:06
@ hobbes3尝试brew服务重新启动php56(如果您收到有关可用公式的错误,请尝试使用其他版本,例如php5或php55)。如果未安装Brew服务,则应在首次运行时为您安装它。
– Doktor J
15年12月21日在22:22
以上都不对我有用,但这确实做到了:service php-fcgi-mydomain-com restart而且我必须对启用了站点的每个域重复此操作
–伊里奇
18-3-12在19:01
这对我来说是一个好(centOs):systemctl reload php70-php-fpm
– 4wk_
18年7月25日在12:58
我在Ubuntu 16.04上,这似乎可以正常工作:systemctl restart php5.6-fpm.service
– relipse
18/12/7在19:36