今天有個(gè)小web需要php環(huán)境運行,為了配置,下了番苦功!終于可以顯示了:

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

記得選中第三項:IIS FASTCGI

如果沒(méi)有安裝IIS FASTCGI的 下一步會(huì )提示沒(méi)有安裝的,下載安裝就行了
FastCGI for IIS 6 7 http://www.iis.net/expand/fastcgi


安裝好后,繼續下一步,我按照默認了:

安裝完畢后,就是配置了。
這種配置有兩種方法,我用cmd配置,一條命令就行了。
轉到剛才安裝CGI的目錄下:
>cd C:\WINDOWS\system32\inetsrv
>cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\Program Files\PHP\php-cgi.exe"
注意:path:"xxxx\php-cgi.exe” 是你安裝php的目錄
> cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
> cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

ok!完畢!
測試下:
新建一個(gè).php文件,里面
<?php
phpinfo();
?>
保存!運行,出現下面頁(yè)面,說(shuō)明配置成功了!

這樣的方法 IIS就不用怎么配置,他都會(huì )自動(dòng)配置好了!微軟提供的配置更加詳細 !
如果按上面的教程配置好后,運行php測試頁(yè)面,出現了500錯誤。
那就設置php.ini中的date.timezone項。
我這里設置成上海時(shí)區:date.timezone = Asia/beijing
設置完后就一切正常了!
聯(lián)系客服