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

本地开发系统使用的是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;

@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 进程崩溃问题

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

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

原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/183.html

(0)
adminadmin
上一篇 2023年11月18日 下午10:54
下一篇 2023年11月18日 下午10:56

相关推荐

  • TCPDF将中文字体设置为内嵌字体的方法

    企业建站价格表PHP的PDF扩展库TCPDF将中文字体设置为内嵌字体的方法 下载要设置的字体,如名为simfang.ttf,放在./vendor/tecnickcom/tcpdf/tools目录…

    记事本 2023年11月18日
  • CentOS7 安装 FreeSWITCH 配置呼叫中心

    企业建站价格表公司前段时间需要开发呼叫系统与内部客户管理系统进行对接,在客户管理系统中直接拨号进行打电话,同时还需要对每通电话进行录音,统计每个员工的通话时长等。在网上查资料最终选择开源系统Fr…

    2018年11月18日
  • FreeSwitch 添加配置录音功能

    企业建站价格表搭建 FreeSwitch 呼叫系统,通常都需要录音功能,将所有的通话都进行录音,FreeSwitch 可以进行配置进行录音,默认不开启录音功能。 配置录音功能,需修改 /etc/…

    记事本 2018年11月18日
  • windows系统下PhpStorm试用版下载地址

    企业建站价格表PhpStorm 是 JetBrains 公司开发的一款商业的PHP集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。 win系统,…

    2024年3月16日
  • FreeSWITCH 服务器断电后不能通话问题

    企业建站价格表FreeSWITCH服务器意外断电导致呼出失败,登录服务器发现日志一片红色警告,虽然我不太懂英文,但是显示的应该是数据库的问题, FreeSWITCH 的默认数据库安装到 /var…

    2020年11月18日
  • fastadmin 如何设置新增/编辑弹窗的大小

    企业建站价格表如果觉得fastadmin 新增和编辑弹窗太小的话,可以再 模块js 文件的 index方法中设置窗口大小 btn-add 是新增的窗口,btn-edit 是编辑是的窗口,data…

    记事本 2023年12月5日
  • FreeSWITCH 与鼎信无线网关配置

    企业建站价格表接口连接设备开箱上机柜,设备上电,用网线将电脑直连设备 FE0 或者 FE1 口,两个网口是桥接模式,默认 IP 是192.168.11.1,掩码 255.255.255.0,同时…

    2018年11月18日
  • 宝塔面板一键迁移网站及数据库

    企业建站价格表两个服务器间迁移数据太麻烦了,宝塔面板中有宝塔一键迁移插件安装上,注意是在要迁出数据的服务器上安装,安装完成后,在一键迁移插件设置中输入 新服务器的面板地址及面板API密钥。按照提…

    2023年11月18日
  • Mac系统下PhpStorm试用版下载地址

    企业建站价格表PhpStorm 是 JetBrains 公司开发的一款商业的PHP集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。 Mac系统,…

    2024年3月16日
  • Jquery attr() data() 获取 HTML 元素属性

    企业建站价格表使用Jquery data() 获取自定义数据时,获取到的数据与原来的数据不同,后来发现是 data 方法将获取到的数据进行了转换,由于该数字已经超过了32位整数的最大值,因此Ja…

    2023年12月7日

发表回复

登录后才能评论
WeChat