windows下 解决PHP-CGI 进程崩溃502
PHP是世界上最好的語言,但需要PHP解析器;Apache+php,需要通過mod_php.so和php相連;nginx+php 需要轉發給?cgi程序
關于FastCGI:
全稱?FastCGI Process Manager,是一種進程管理器,管理?cgi,市面上有很多進程管理器,PHP-FPM就是其中一種。
linux環境:PHP-FPM作為進程管理器,會監聽端口,默認為9000,并且監聽本機,只接收127.0.0.1,可以通過?netstat -nlpt|grep php-fpm?查看
Windows環境:默認會通過PHP-CGI?作為進程管理器,PHP自帶的FastCGI管理器,
缺點:
windows(64位)下,nginx使用php-cgi解析如何解決PHP-CGI 進程崩潰的問題:
解決方法:采用xxfpm,管理FastCGI進程.
下載地址: windows下解決PHP-CGI進程崩潰502的資源包-PHP文檔類資源-CSDN下載
1.首先安裝?xxfpm.exe管理器
在下載包里找到?pthreadGC2.dll文件,將這個文件復制到C:/Windows/SysWOW64目錄(如果系統是32位的,將dll文件復制到C:WindowsSystem32下);
在C:/Windows/SysWOW64目錄,新建一個文件?registe.bat,和pthreadgc2.dll同目錄
@echo 開始注冊copy pthreadgc2.dll %windir%SysWOW64regsvr32 %windir%SysWOW64pthreadgc2.dll /s@echo pthreadgc2.dll注冊成功@pause運行registe.bat,便會完成pthreadgc2.dll注冊(如果32位的系統,請將system32替換為system32)。完了就可以將registe.bat刪了
2.將下載的xxfpm.exe?copy 到nginx目錄下,
3.新建restart_nginx.bat
@echo offREM Windows 下無效REM set PHP_FCGI_CHILDREN=5REM 每個進程處理的最大請求數,或設置為 Windows 環境變量set PHP_FCGI_MAX_REQUESTS=1000echo Starting PHP FastCGI...RunHiddenConsole C:/wnmp/nginx/xxfpm/xxfpm.exe "C:/wnmp/php/php-cgi.exe -c C:/wnmp/php/php.ini" -n 5 -i 127.0.0.1 -p 9000echo Starting nginx...RunHiddenConsole C:/wnmp/nginx/nginx.exe -p C:/wnmp/nginxexit4.新建stop_nginx.bat
5.現在運行?stop_nginx.bat,等于同時開啟5個php-cgi進程,因為我們傳了參數 -n 為5
6.如果我們手動斷掉一個,會發現又多出來一個,還是5個。
這是因為xxfpm會管理php-cgi,將其維持在5個php-cgi進程,防止cgi進程崩潰關閉。
還有一點注意,監聽端口注意與nginx的配置文件相同。
總結
以上是生活随笔為你收集整理的windows下 解决PHP-CGI 进程崩溃502的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XenAPP6.5安装于部署(五)---
- 下一篇: 浅谈架构师特点