前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决windows+nginx下 PHP-CGI 进程崩溃问题

解决windows+nginx下 PHP-CGI 进程崩溃问题

原创
作者头像
Power
发布2023-02-28 14:43:05
1.6K0
发布2023-02-28 14:43:05
举报
文章被收录于专栏:源码库

本地开发系统使用的是windows系统下,配置的 nginx+php,在使用过程中总是出现崩溃现象,网上搜解决办法时,很多网友说是PHP-CGI 进程崩溃 造成的,当 php-cgi 处理php 达到500次,就自动关闭。也给出了解决办法。

解决的办法就是使用 xxfpm,管理FastCGI进程,xxfpm可以控制启动 FastCGI的进程数量。进程挂掉后会自动启动一个新的进程。git地址:https://github.com/78/xxfpm。

启动脚本如下,配置了多个版本的PHP,PHP 和nginx 也要进行相应的设置,其中用到了RunHiddenConsole ,需要单独进行下载:https://github.com/wenshui2008/RunHiddenConsole,

-n 3 就是启动的进程数

-p 20056 是php-cgi 的端口,nginx 配置PHP时要用到 fastcgi_pass 127.0.0.1:20056;

代码语言:javascript
复制
@echo off

echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul

echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
taskkill /F /IM xxfpm.exe > nul

set PHP_FCGI_MAX_REQUESTS = 1000

echo Starting PHP FastCGI...
RunHiddenConsole xxfpm.exe "D:/NMP/php5.6/php-cgi.exe -c D:/NMP/php5.6/php.ini" -n 3 -i 127.0.0.1 -p 20056
RunHiddenConsole xxfpm.exe "D:/NMP/php7.2/php-cgi.exe -c D:/NMP/php7.2/php.ini" -n 3 -i 127.0.0.1 -p 20072
RunHiddenConsole xxfpm.exe "D:/NMP/php7.4/php-cgi.exe -c D:/NMP/php7.4/php.ini" -n 3 -i 127.0.0.1 -p 20074
RunHiddenConsole xxfpm.exe "D:/NMP/php8.0/php-cgi.exe -c D:/NMP/php8.0/php.ini" -n 3 -i 127.0.0.1 -p 20080
RunHiddenConsole xxfpm.exe "D:/NMP/php8.1/php-cgi.exe -c D:/NMP/php8.1/php.ini" -n 3 -i 127.0.0.1 -p 20081

echo Starting nginx...
RunHiddenConsole D:/NMP/nginx-1.20.2/nginx.exe -p D:/NMP/nginx-1.20.2/

exit

注意:RunHiddenConsole 和 xxfpm.exe 的目录设置,如果 xxfpm启动出现错误,需要将下载 xxfpm的压缩包内 pthreadgc2.dll 复制到 C:/Windows/SysWOW64 目录(如果系统是32位的,将dll文件复制到C:WindowsSystem32下)。

运行后会出现15个进程(3*5个PHP版本)

解决windows+nginx下 PHP-CGI 进程崩溃问题
解决windows+nginx下 PHP-CGI 进程崩溃问题

上面说 当 php-cgi 处理 php 达到500次,就自动关闭,特意做了一下测试,前500次返回200,第501次时返回了 502。使用 xxfpm方式启动后就不会出现 502 的情况了

解决windows+nginx下 PHP-CGI 进程崩溃问题
解决windows+nginx下 PHP-CGI 进程崩溃问题

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档