新聞中心
小編給大家分享一下如何解決php中cgi自動關(guān)閉的問題,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為惠陽企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),惠陽網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。php cgi自動關(guān)閉的解決辦法:首先完成“pthreadgc2.dll”注冊;然后將xxfpm目錄復(fù)制到nginx下;接著修改“RunHiddenConsole”啟動關(guān)閉文件;最后設(shè)置Windows環(huán)境變量即可。
解決windows下php-cgi進(jìn)程經(jīng)常自動關(guān)閉
php-cgi在linux中有fpm管理,Apache不是采用cgi這種模式,于是乎就出現(xiàn)了,在windows下,采用nginx時,開啟的php-cgi監(jiān)聽非常不穩(wěn)定,經(jīng)常奔潰關(guān)閉。現(xiàn)在解決了這個問題。注意是win32位系統(tǒng)下解決的,雖然服務(wù)器上64位系統(tǒng)也跑起來了,但是環(huán)境裝的都是32位的。
采用了這個叫xxfpm的FastCGI進(jìn)程管理器:xxfpm
下載后運行xxfpm.exe,如果出現(xiàn)報錯缺少pthreadgc2.dll,需要下載pthreads-win32:http://sourceware.org/pthreads-win32/
將這個文件復(fù)制到C:/Windows/System32下(如果系統(tǒng)是64位的請將32位的dll文件復(fù)制到C:\Windows\SysWOW64目錄);
然后打開“開始-運行-輸入regsvr32 pthreadgc2.dll”,回車,如果報錯,用下面的方法。
新建一個文件“注冊.bat“,內(nèi)容:
@echo 開始注冊 copy pthreadgc2.dll %windir%\system32\ regsvr32 %windir%\system32\pthreadgc2.dll /s @echo pthreadgc2.dll注冊成功 @pause
雙擊注冊.bat,就會自動完成pthreadgc2.dll注冊(如果64位的系統(tǒng)安裝32位的dll文件,請將system32替換為SysWOW64)。完了就可以將這個文件刪了。
接下里將下載下來的xxfpm目錄copy到nginx下:
為了方便修改一下當(dāng)初安裝nginx時的RunHiddenConsole啟動關(guān)閉文件(如果你是在windows手動搭建Nginx環(huán)境這樣安裝的話):
修改start_nginx.bat為:
@echo off REM Windows 下無效 REM set PHP_FCGI_CHILDREN=5
REM 每個進(jìn)程處理的大請求數(shù),或設(shè)置為 Windows 環(huán)境變量
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
現(xiàn)在在開啟nginx時,我們就同時開啟了5個php-cgi進(jìn)程,因為我們傳了參數(shù) -n 為5。
如果我們手動斷掉一個,會發(fā)現(xiàn)又多出來一個,還是5個。xxfpm將會管理php-cgi,將其維持在5個php-cgi進(jìn)程,防止cgi進(jìn)程崩潰關(guān)閉。還有一點注意,監(jiān)聽端口注意與nginx的配置文件對齊。
看完了這篇文章,相信你對如何解決php中cgi自動關(guān)閉的問題有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱:如何解決php中cgi自動關(guān)閉的問題-創(chuàng)新互聯(lián)
標(biāo)題URL:http://www.dlmjj.cn/article/ceopoh.html