优化下php-cgi,windows服务器linux环境下,解决PHP-CGI进程停止问题

PHP是目前应用最广泛的web语言,但是有一个问题到如今PHP都更新到7.x了却一直没解决,那就是在windows服务器linux环境下php-cgi处理次数达到500的时候会自动停止进程。在linux中可以使用PHP-FPM作为进程管理器,会监听端口,默认为9000,守护进程,但是windows服务器linux环境下是没有PHP-FPM的, 那么在windows中该如何守护php-cgi进程,以防止经常性的崩溃呢?使用xxfpm吧,这款管理器是一位民间大神写的,在此表示感谢。下载地址:https://github.com/78/xxfpm。

xxfpm使用方法:

首先解压下载过来的文件,然后得到:

d5c566f5920ff910b7afd1828932fd64.png

再将图中红框圈出来的文件复制到C:/Windows/SysWOW64目录下面,如果你是32位的那就复制到C:\Windows\System32。

然后WIN+R输入regsvr32pthreadgc2.dll,回车确认。如果出现报错:

aec775e0ffa36fa09c3a1430c01f9b32.png

那就使用下面的方法。pthreadgc2.dll目录下新建一个文件registe.bat,输入以下代码:

@echo 开始注册

copy pthreadgc2.dll %windir%\SysWOW64\

regsvr32 %windir%\SysWOW64\pthreadgc2.dll /s

@echo pthreadgc2.dll注册成功

@pause

如果32位的系统,请将SysWOW64替换为system32,然后直接保存运行,出现下图的提醒即可。

56ea76955a57532132246bbbf354b958.png

然后将下载的xxfpm.exe复制到nginx目录下,

55f36eb17af559874b37e526f561d6bb.png

再下载RunHiddenConsole.exe,

e1a164551125684d6747310e3ac51cea.png

然后根据自己的文件路径修改start_nginx.bat

@echooff

REMWindows下无效

REMsetPHP_FCGI_CHILDREN=5

REM每个进程处理的最大请求数,或设置为Windows环境变量

setPHP_FCGI_MAX_REQUESTS=1000

echoStartingPHPFastCGI...

RunHiddenConsoleC:\phpStudy\PHPTutorial\nginx\xxfpm.exe"C:\phpStudy\PHPTutorial\php\php-5.4.45-nts\php-cgi.exe-cC:\phpStudy\PHPTutorial\php\php-5.4.45-nts\php.ini"-n5-i127.0.0.1-p9000

echoStartingnginx...

RunHiddenConsoleC:\phpStudy\PHPTutorial\nginx\nginx.exe-pC:\phpStudy\PHPTutorial\nginx

exit

修改好了之后直接运行start_nginx.bat即可。运行后我们会发现有五个php-cgi,而且关掉一个进程会发现立马又出来一个,始终保持在5个。

0c9e1cd04f8d79d79ca6dce4b0cc4d00.png

至此顺利的解决了windows服务器linux环境下PHP-CGI进程自动停止的问题了。

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值