我們知道php配置有幾種:
1、CGI方式載入PHP環境,通常就是IIS裡面配置解譯器為php.exe,早期比較常見,目前使用較少。
特點是:穩定,但效率太低。
2、ISAPI方式載入PHP環境,通常就是IIS裡面配置解譯器為php5isapi.dll,目前使用最多,應用最廣。
特點是:多線程,效率較高,但不夠穩定。
3、FastCGI方式載入PHP環境,在IIS環境裡並不常見,但其它系統內容應用還是有的,不過IIS7.0開始內建FastCGI了。
特點是:高效率,高穩定性,屬於將來發展趨勢。
我試過其他的特別麻煩,PHP 5.3發布的Windows版已經不支援ISAPI模式了,所以我打算按微軟推薦的FastCGI方式運行PHP。
我用的就第三種,也是最好最快的,因為FastCGI大大加強了IIS處理PHP的能力,能迅速提高PHP網站的反應速度和生產力。
配置方法
一、安裝好IIS
具體安裝方法可查看:http://down.chinaz.com/server/201102/11_1.htm。
二、下載並安裝IIS FastCGI
下載地址:http://www.iis.net/download/fastcgi。
選擇 x86或者download x86,下載下來名稱為fcgisetup_1.5_x86_rtw.msi。
安裝後會在C:WINDOWSsystem32inetsrv目錄下多出了5個檔案fcgiconfig.js,fcgiext.dll,fcgiext.ini,fcgilicense.rtf,fcgireadme.htm
這個時候在IIS6的”WEB服務擴充”裡就多出了一個FastCGI Handler
三、下載安裝IIS下的PHP最新版本
下載地址http://windows.php.net/download/,下載VC9 x86 Non Thread Safe的ZIP版本,解壓到所需目錄,該目錄需要給予user讀取運行許可權。
四、配置和修改內容
1、環境變數修改
我的電腦->屬性->進階->環境變數->系統變數,在Path的最後面中加上;E:PHP
2、FastCGI安裝目錄內的修改(註冊PHP到FastCGI)
開啟C:WINDOWSsystem32inetsrvfcgiext.ini檔案,在檔案最後加上下面的語句:
| 代碼如下 |
複製代碼 |
|
[Types](這個是檔案原來就有的,在[Types]後面加上下面的語句就可以,要全部哦不然會報錯的。)
php=PHP
[PHP]
ExePath=E:PHPphp-cgi.exe
InstanceMaxRequests=10000
EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000
ActivityTimeout=3600
RequestTimeout=3600
|
3、PHP.ini的修改,PHP安裝目錄下是沒有PHP.ini這個檔案的,只有php.ini-development和php.ini-production,我們把php.ini-development改為php.ini(當然如果你怕有錯可以先備份一下)。
註明:首先建一個檔案夾命名為TMP,位置隨意,我這裡放在E:PHPtmp。 (upload_tmp_dir會用到,upload_tmp_dir是用來定義上傳檔案存放的臨時路徑,這裡可以修改並給它定義一個絕對路徑,同時需要有讀、寫入權限)。
用搜尋(快速鍵:Ctrl+F)的方式把下面的關鍵字改成現在的值:
| 代碼如下 |
複製代碼 |
|
short_open_tag = Off (這個它本來預設就是這樣我們就不要改了。)
把;upload_tmp_dir =改為upload_tmp_dir=”E:PHPtmp”
把;cgi.force_redirect = 1改為cgi.force_redirect=0
把;fastcgi.impersonate = 1;改為 fastcgi.impersonate=1;
把; extension_dir = “ext”改為extension_dir=”E:PHPext”
把;date.timezone =改為date.timezone =PRC(如果不修改date.timezone,開啟網頁的時候蠻有可能提示500錯誤。也有人把值改為Asia/Shanghai,我沒試過你們可以試試。)
在Windows Extensions中去除擴充前面的分號(;):
; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll
|
4、Internet資訊服務(IIS)管理器的修改
(1)網站》屬性》主目錄》配置》添加
可執行檔填寫C:WINDOWSsystem32inetsrvfcgiext.dll
副檔名填寫.php。
動作->限制為GET,HEAD,POST。
(2)網站->屬性->文檔->添加預設內容index.php。這裡全部配置好了,一定要把IIS服務重啟一下。
5、測試
用文本寫一段測試代碼:
儲存為index.php,名字隨便取,只要尾碼是.php就可以。把index.php放到根目錄下,我這裡是C:Inetpubwwwroot,然後在瀏覽器中輸入http://localhost/index.php就可以得到返回的資訊了。
五、錯誤調試
若出現如同下面的錯誤,說明你的電腦沒有安裝VC9運行庫 即VISUAL C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)
下載地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn
下載後安裝就可以了。