php-cgi.exe常常自己崩潰,這是什麼原因?本機上搭建了nginx+php環境
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常見的運作方式:
<code>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</code>