|
1、CGI方式加載PHP環(huán)境,通常就是IIS里面配置解釋器為php.exe,早期比較常見,目前使用較少。 特點(diǎn)是:穩(wěn)定,但效率太低。 2、ISAPI方式加載PHP環(huán)境,通常就是IIS里面配置解釋器為php5isapi.dll,目前使用最多,應(yīng)用最廣。 特點(diǎn)是:多線程,效率較高,但不夠穩(wěn)定。 3、FastCGI方式加載PHP環(huán)境,在IIS環(huán)境里并不常見,但其它系統(tǒng)環(huán)境應(yīng)用還是有的,不過IIS7.0開始內(nèi)置FastCGI了。 特點(diǎn)是:高效率,高穩(wěn)定性,屬于將來發(fā)展趨勢(shì)。 我試過其他的特別麻煩,PHP 5.3發(fā)布的Windows版已經(jīng)不支持ISAPI模式了,所以我打算按微軟推薦的FastCGI方式運(yùn)行PHP。 我用的就第三種,也是最好最快的,因?yàn)镕astCGI大大加強(qiáng)了IIS處理PHP的能力,能迅速提高PHP站點(diǎn)的反應(yīng)速度和生產(chǎn)力, 并具有更高的穩(wěn)定性和安全性. 下載地址:里面有好多種,要那種呢? PHP現(xiàn)在推出5.3.2版本了,不過下載的時(shí)候有幾個(gè)不同版本選擇。那就是VC6 X86和VC9 X86。 首先我來解答: VC6是什么? VC6就是legacy Visual Studio 6 compiler,就是使用這個(gè)編譯器編譯的。 VC9是什么? VC9就是the Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的。 那我們?nèi)绾芜x擇下載哪個(gè)版本的PHP呢? 如果你是在windows下使用Apache+PHP的,請(qǐng)選擇VC6版本; 如果你是在windows下使用IIS+PHP的,請(qǐng)選擇VC9版本; 那Non Thread Safe是什么? Non Thread Safe就是非線程安全; Thread Safe 是什么? Non Thread Safe 是線程安全; fastcgi執(zhí)行方式是以單一線程來執(zhí)行操作,所以不需要進(jìn)行線程的安全檢查,除去線程安全檢查的防護(hù)反而可以提高執(zhí)行效率,所以,如果是以 FastCGI(無論搭配 IIS 6 或 IIS 7)執(zhí)行 PHP ,都建議下載、執(zhí)行 non-thread safe 的 PHP (PHP 的二進(jìn)位檔有兩種包裝方式:msi 、zip ,請(qǐng)下載 zip 套件)所以我們選擇NO-Thread Safe 版本的PHP來使用。 而線程安全檢查正是為ISAPI方式的PHP準(zhǔn)備的,因?yàn)橛性S多php模塊都不是線程安全的,所以需要使用Thread Safe的PHP。 下載安裝,我安裝默認(rèn)路徑了: 
記得選中第三項(xiàng):IIS FASTCGI 
如果沒有安裝IIS FASTCGI的 下一步會(huì)提示沒有安裝的,下載安裝就行了 FastCGI for IIS 6 7 

安裝好后,繼續(xù)下一步,我按照默認(rèn)了: 
安裝完畢后,就是配置了。 這種配置有兩種方法,我用cmd配置,一條命令就行了。 轉(zhuǎn)到剛才安裝CGI的目錄下: >cd C:WINDOWSsystem32inetsrv >cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:Program filesPHPphp-cgi.exe" 注意:path:"xxxxphp-cgi.exe” 是你安裝php的目錄 > cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000 > cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000 
ok!完畢! 測(cè)試下: 新建一個(gè).php文件,里面 <?php phpinfo(); ?> 保存! 運(yùn)行,出現(xiàn)下面頁(yè)面,說明配置成功了! 
這樣的方法 IIS就不用怎么配置,他都會(huì)自動(dòng)配置好了!微軟提供的配置更加詳細(xì) ! 如果按上面的教程配置好后,運(yùn)行php測(cè)試頁(yè)面,出現(xiàn)了500錯(cuò)誤。 那就設(shè)置php.ini中的date.timezone項(xiàng)。 我這里設(shè)置成上海時(shí)區(qū):date.timezone = Asia/beijing 設(shè)置完后就一切正常了!
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
|