关闭终端php就退出进程_解决windows下php-cgi进程经常自动关闭
php-cgi在linux中有fpm管理,Apache不是采用cgi這種模式,于是乎就出現了,在windows下,采用nginx時,開啟的php-cgi監聽非常不穩定,經常奔潰關閉?,F在解決了這個問題。注意是win32位系統下解決的,雖然服務器上64位系統也跑起來了,但是環境裝的都是32位的。
采用了這個叫xxfpm的FastCGI進程管理器:xxfpm
下載后運行xxfpm.exe,如果出現報錯缺少pthreadgc2.dll,需要下載pthreads-win32:http://sourceware.org/pthreads-win32/
將這個文件復制到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下:
為了方便修改一下當初安裝nginx時的RunHiddenConsole啟動關閉文件(如果你是這樣安裝的話):
修改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。
如果我們手動斷掉一個,會發現又多出來一個,還是5個。xxfpm將會管理php-cgi,將其維持在5個php-cgi進程,防止cgi進程崩潰關閉。還有一點注意,監聽端口注意與nginx的配置文件對齊。
(責任編輯:最模板)
總結
以上是生活随笔為你收集整理的关闭终端php就退出进程_解决windows下php-cgi进程经常自动关闭的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java merge into_Orac
- 下一篇: php为什么获取不到id,微信小程序无法