商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > php7 php-fpm 重启

php7 php-fpm 重启

  发布于2026-07-21 阅读(0)

扫一扫,手机访问

PHP7中php.ini、php-fpm和www.conf的配置

php-fpm的管理,在源码安装环境下其实有不少细节值得留意。先说说几个常用操作:关闭php-fpm,可以用 kill -SIGINT `cat /usr/local/php/var/run/php-fpm.pid`;重启则用 kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid`。这两个信号分别对应优雅关闭和优雅重启,生产环境下比直接kill进程要安全得多。

查看php-fpm进程数,有三个常用命令:ps aux | grep -c php-fpmnetstat -anpo | grep "php-cgi" | wc -lnetstat -anop | grep "php-fpm" | wc -l。通常第一个就行,但后两个能更精确地看到网络连接层面的情况。

nginx通过FastCGI运行PHP,相比Apache内置PHP环境有明显的性能优势。早在PHP5.4时代,就有消息称PHP-FPM补丁将被合并进内核,这让nginx+PHP的组合变得更加轻便。不过回到实际配置,如果你是用源码编译安装的PHP,会发现php-fpm在5.3.2以后的版本不再支持传统的 start|restart|stop|reload 参数,这就需要手动把它配置成系统服务,实现平滑启停。

第一步,修改php-fpm.conf文件(比如 vi /usr/local/php54/etc/php-fpm.conf),把 ;pid = run/php-fpm.pid 前面的分号去掉,让pid文件生效。这是后续服务管理脚本能够正确找到进程的关键。

第二步,源码编译安装的PHP会在源码目录生成一些辅助文件,找到 init.d.php-fpm 并复制到init.d目录下:cp /usr/local/src/php54/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm。然后设置执行权限并添加到系统服务:chmod +x /etc/init.d/php-fpmchkconfig --add php-fpm

完成之后,就可以用标准的service命令来管理php-fpm了:service php-fpm startservice php-fpm stopservice php-fpm restartservice php-fpm reload。注意,reload是平滑重载配置,不会中断现有请求,生产环境优先使用。

另外,关于nginx下开启php-fpm输出PHP错误日志的问题,通常需要在php-fpm的www.conf中设置 catch_workers_output = yes,并确保php.ini中的 log_errorserror_log 正确配置。如果遇到“PHP Startup: Invalid library”这种扩展编译错误,一般是因为扩展版本与PHP版本不匹配,或者so文件路径未正确加载。检查一下extension_dir和php.ini中扩展的加载顺序,多数问题都能解决。

本文转载于:https://blog.csdn.net/weixin_34292924/article/details/85903206 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注