先描述一下大前提:
伺服器使用的是 windows server 2003 + iis6 + mysql + php[isapi模式] 進行配置的,並且網站上有13個虛擬網站,其中 4個網站為純PHP指令碼網站,其他是asp或者 asp.net 網站,所以伺服器並不是那麼純淨。
現在問題是,
在這4個PHP網站中,一個是dzx!2.5搭建的社區系統(A),一個是使用jishigou搭建的微博平台(B),一個是使用ucenter搭建的使用者中心(C),最後一個位自己寫的程式(D)。
以上A、B、C、D建立網站時,均自有程式應用位址集區分別對應為:A1,B1,C1,D1;
在流量和IP均為發生大變動的情況下,網站A的A1應用位址集區總是無故假死,但其他網站B、C、D都可正常訪問,需要手動回收和釋放當前A1,甚至都無法正常啟動World Wide Web Publishing Service服務。登入伺服器上看,總會彈出這個提示(如):
以上錯誤資訊均在php + iis + isapi模式下運行;
倘若,更換php的運行模式為fastcgi,則不會出現以上情況,但是fastcgi的線程數總會提示滿,於是需要開啟更大的線程以此解決。
最後,網站A使用的dzx!2.5為原生系統,前端並未修改,修改的為後台。
回複內容:
先描述一下大前提:
伺服器使用的是 windows server 2003 + iis6 + mysql + php[isapi模式] 進行配置的,並且網站上有13個虛擬網站,其中 4個網站為純PHP指令碼網站,其他是asp或者 asp.net 網站,所以伺服器並不是那麼純淨。
現在問題是,
在這4個PHP網站中,一個是dzx!2.5搭建的社區系統(A),一個是使用jishigou搭建的微博平台(B),一個是使用ucenter搭建的使用者中心(C),最後一個位自己寫的程式(D)。
以上A、B、C、D建立網站時,均自有程式應用位址集區分別對應為:A1,B1,C1,D1;
在流量和IP均為發生大變動的情況下,網站A的A1應用位址集區總是無故假死,但其他網站B、C、D都可正常訪問,需要手動回收和釋放當前A1,甚至都無法正常啟動World Wide Web Publishing Service服務。登入伺服器上看,總會彈出這個提示(如):
以上錯誤資訊均在php + iis + isapi模式下運行;
倘若,更換php的運行模式為fastcgi,則不會出現以上情況,但是fastcgi的線程數總會提示滿,於是需要開啟更大的線程以此解決。
最後,網站A使用的dzx!2.5為原生系統,前端並未修改,修改的為後台。
不建議用isapi方式,建議使用 http://www.iis.net/download/FastCGI
C:\WINDOWS\system32\inetsrv\fcgiext.ini內容僅供參考
[Types]php=PHP[PHP]ExePath=D:\php\php-cgi.exeInstanceMaxRequests=10000EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
php.ini中幾個關鍵點僅供參考
output_buffering = Oncgi.force_redirect = 0cgi.fix_pathinfo = 1fastcgi.impersonate = 1
php.ini中的安全考慮
disable_functions = system,passthru,shell_exec,exec,popen,proc_openenable_dl = Off
php.ini中盡量設定獨立的臨時目錄等
upload_tmp_dir = "d:/tmp/uploadtemp/"session.save_path = "d:/tmp/sessiondata/"date.timezone = "Etc/GMT-8" ; GMT+8mbstring.language = Neutral ; Set default language to Neutral(UTF-8) (default)mbstring.internal_encoding = UTF-8 ; Set internal encoding to UTF-8
建議在windows平台使用安全執行緒的php,建議所有php網站使用同一個程式應用池。
如果有可能,別在windows平台跑php。