十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
PHP(Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言.
成都创新互联主要从事网站设计制作、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务绩溪,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
它运行是要基于apache、nginx等服务器来运行的,而php扩展在php.ini 配置好了,直接重新启动一下服务器就好了
php5.4中php-fpm怎么重启?
php 5.3.3以后 源码中已经内嵌了 php-fpm,不用象以前的php版本一样专门打补丁了,只需要在configure的时候添加编译参数即可。
关于php-fpm的编译参数有 –enable-fpm –with-fpm-user=www –with-fpm-group=www –with-libevent-dir=libevent位置。
但是,php 5.3.3以后 的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:
master进程可以理解以下信号:
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
有了以上信号,php-fpm进程重启就方便多了。
例子:
php-fpm 关闭:
代码示例:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重启:
代码示例:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
说明:
cat部分是php-fpm的进程号,可能是我用的5.4的问题。没有用php-fpm.pid ,就没有这个文件。
可以用 ps aux | grep php-fpm,使用第一个进程的进程号,测试可行。
/etc/init.d/php-fpm start
/etc/init.d/php-fpm stop
/etc/init.d/php-fpm restart
/etc/init.d/php-fpm reload
apache
启动
systemctl start httpd
停止
systemctl stop httpd
重启
systemctl restart httpdmysql启动
systemctl start mysqld停止
systemctl stop mysqld
重启
systemctl restart mysqld
php-fpm
启动
systemctl start php-fpm
停止
systemctl stop php-fpm
重启
systemctl restart php-fpmnginx
启动
systemctl start nginx
停止
systemctl stop nginx
重启
systemctl restart nginx
已解决 下面是解决方法
1、设置 sudo 配置文件 可写权限
chmod u+w /etc/sudoers
2、增加 www 用户的 nginx 脚本管理权限
www ALL=(root) NOPASSWD: /etc/init.d/nginx
3、关闭 【强制控制台登录】执行
【非常重要】,注释该行 我的问题就出在这里,开启了这个选项之后。在PHP中怎么调用,都没有执行结果
#Defaults requiretty
4、还原 sudo 配置权限 440
【非常重要】,如果不还原权限。在PHP中怎么调用,都没有执行结果。
chmod u-w /etc/sudoers
5、调用php
$result2 = exec("/usr/bin/sudo /etc/init.d/nginx stop",$result);
var_dump($result);
var_dump($result2);
不是重新启动PHP,是重新启动IIS或是APACHE,主要看你用的是那个,PHP是由这二个启动的
把你的服务容器重启就可以了
比如你是 windows +apache + php +mysql
那么重启apache
是nginx 就重启nginx
iis 类似,至于重启方法么,百度一下每个服务容器怎么重启就可以了