如何解决php中cgi自动关闭的问题

发布时间:2020-09-08 10:37:09 作者:小新
来源:亿速云 阅读:436

小编给大家分享一下如何解决php中cgi自动关闭的问题,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

php cgi自动关闭的解决办法:首先完成“pthreadgc2.dll”注册;然后将xxfpm目录复制到nginx下;接着修改“RunHiddenConsole”启动关闭文件;最后设置Windows环境变量即可。

如何解决php中cgi自动关闭的问题

解决windows下php-cgi进程经常自动关闭

php-cgi在linux中有fpm管理,Apache不是采用cgi这种模式,于是乎就出现了,在windows下,采用nginx时,开启的php-cgi监听非常不稳定,经常奔溃关闭。现在解决了这个问题。注意是win32位系统下解决的,虽然服务器上64位系统也跑起来了,但是环境装的都是32位的。

采用了这个叫xxfpm的FastCGI进程管理器:xxfpm

下载后运行xxfpm.exe,如果出现报错缺少pthreadgc2.dll,需要下载pthreads-win32:http://sourceware.org/pthreads-win32/

如何解决php中cgi自动关闭的问题

将这个文件复制到C:/Windows/System32下(如果系统是64位的请将32位的dll文件复制到C:\Windows\SysWOW64目录);

然后打开“开始-运行-输入regsvr32 pthreadgc2.dll”,回车,如果报错,用下面的方法。

新建一个文件“注册.bat“,内容:

@echo 开始注册
copy pthreadgc2.dll %windir%\system32\
regsvr32 %windir%\system32\pthreadgc2.dll /s
@echo pthreadgc2.dll注册成功
@pause

双击注册.bat,就会自动完成pthreadgc2.dll注册(如果64位的系统安装32位的dll文件,请将system32替换为SysWOW64)。完了就可以将这个文件删了。

接下里将下载下来的xxfpm目录copy到nginx下:

如何解决php中cgi自动关闭的问题

为了方便修改一下当初安装nginx时的RunHiddenConsole启动关闭文件(如果你是在windows手动搭建Nginx环境这样安装的话):

修改start_nginx.bat为:

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

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

set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI…
RunHiddenConsole D:/wnmp/nginx-1.10.2/xxfpm/bin/xxfpm.exe “D:/wnmp/php-5.6/php-cgi.exe -c D:/wnmp/php-5.6/php.ini” -n 5 -i 127.0.0.1 -p 9000
echo Starting nginx…
RunHiddenConsole D:/wnmp/nginx-1.10.2/nginx.exe -p D:/wnmp/nginx-1.10.2
exit

修改stop_nginx.bat为:

@echo off
echo Stopping nginx…
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI…
taskkill /F /IM xxfpm.exe > nul
exit

现在在开启nginx时,我们就同时开启了5个php-cgi进程,因为我们传了参数 -n 为5。

如何解决php中cgi自动关闭的问题

如果我们手动断掉一个,会发现又多出来一个,还是5个。xxfpm将会管理php-cgi,将其维持在5个php-cgi进程,防止cgi进程崩溃关闭。还有一点注意,监听端口注意与nginx的配置文件对齐。

看完了这篇文章,相信你对如何解决php中cgi自动关闭的问题有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. cgi fastcgi php-cgi php-fpm
  2. 如何关闭php cgi

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php cgi

上一篇:帝国cms实现页面自动生成html的方法

下一篇:Promise指的是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》