Windows下php-cgi进程卡住

在Windows下的php-cgi没有php-fpm,就算开多个php-cgi进程,也会只用其中一个,只有当这个进程的处理次数达到上限并自动退出后,才会使用下一个php-cgi进程。

这就导致了一个问题。当某一个项目需要用到网络上的资源,而又出现了网络延迟的问题,就会导致这个php-cgi进程卡住,既不处理请求,又不退出。这时候就会出现所有PHP项目全部报503错误。

目前我想到的解决办法就是给这些项目另起php-cgi进程,让他们用单独的php-cgi进程,方法如下,使用bat文件在9001端口再开一个php-cgi进程,并循环启动,在处理次数达到上限退出后会马上再启一个:

@echo off
:loop
echo Add php-cgi Process
php-cgi.exe -b 127.0.0.1:9001
goto loop

然后这个项目在nginx中的配置也要改一下

fastcgi_pass   127.0.0.1:9001;

其他项目依然用其他的PHP-CGI进程,只把这个项目独立出来,假如项目卡住,不会影响其他进程。等这个项目自己超时。。。除了换成linux+php-fpm,暂时只能这么处理。。。

其他项目的php-cgi进程可采用脚本自动处理,详见

发表评论

电子邮件地址不会被公开。 必填项已用*标注