时间:2021-07-01 10:21:17 帮助过:5人阅读
php-cgi.exe经常自己崩溃,这是什么原因?本机上搭建了nginx+php环境
该把错误报告发上来呀..不然怎么知道是因为什么原因崩溃的.
个人还是建议在非生产环境用一键包,出了问题恢复一下或者换一个安装就行,省心省力(XD)
有可能程序本身被破坏,也有可能代码有问题,或者你用过一些不稳定的php扩展。或者某些杀毒软件误杀这个进程。
看了人家的源代码,加个环境变量就行了:
php-cgi虽然支持后台常驻运行,但这种运行方式是不稳定的.
所以才会有CGI进程管理器这类东西出来解决这种问题.
以下拿Apache/Nginx/IIS相关功能来说明.
比如Apache FastCGI进程管理器模块mod_fcgid具有管理和维持PHP-CGI进程数目的功能,而 mod_proxy_fcgi
则类似 Nginx fastcgi_pass 的东西,也就是说Nginx是不负责管理后端的CGI进程的,Nginx只负责代理.Linux上经常配合Nginx使用的PHP-FPM能自己管理自己的PHP-FPM子进程(跟PHP-CGI进程无关),所以很稳定.微软也为IIS开发了一个PHP-CGI进程管理器PHP Manager for IIS.
最后总结下PHP常见的运行方式:
Nginx fastcgi_pass <=> PHP-FPM
Apache + mod_proxy_fcgi <=> PHP-FPM
Apache + mod_php <=> libphp5.so/php5apache2_4.dll
Apache + mod_fcgid <=> PHP-CGI
IIS + PHP Manager <=> PHP-CGI