微軟去年底發佈了II6的FastCGI模塊,今天將服務器上的PHP支持改成了FastCGI,目前運行穩定.FastCGI的IIS模塊可以讓
流行的應用框架在IIS上支持FastCGI協議以提供高性能和可用性的訪問服務,FastCGI面向現有的網絡服務器提供高性能的CGI替代標準。具體
PHP安裝方法我記錄下來,其中包括出現的一個錯誤.
環境:
操作系統:Windows 2003 Server
PHP版本:PHP5.25
操作系統:Windows 2003 Server
PHP版本:PHP5.25
1.下載FastCGI For IIS6
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=2d481579-9a7c-4632-b6e6-dee9097f9dc5&displaylang=en
下載之後,雙擊運行進行安裝.
3.註冊PHP到FastCGI
在命令行下運行
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"D:\PHP\php-cgi.exe"
fcgiconfig.js 默認存放目錄是:C:\WINDOWS\system32\inetsrv
在命令行下運行
cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"D:\PHP\php-cgi.exe"
fcgiconfig.js 默認存放目錄是:C:\WINDOWS\system32\inetsrv
4.設置
將D:\PHP\php.ini-recommended重命名爲爲D:\PHP\php.ini
打開D:\PHP\php.ini,修改:
extension_dir = "D:\PHP\ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
其它根據實際需要對php.ini進行設置修改
然後執行:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:500
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:1000
以上兩項設置最大池和響應連接數,可以根據運行機器的硬件配置、使用情況修改
一切完畢之後重啓IIS,趕緊寫一個測試頁試一下吧.
將D:\PHP\php.ini-recommended重命名爲爲D:\PHP\php.ini
打開D:\PHP\php.ini,修改:
extension_dir = "D:\PHP\ext"
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
其它根據實際需要對php.ini進行設置修改
然後執行:
cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:500
cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:1000
以上兩項設置最大池和響應連接數,可以根據運行機器的硬件配置、使用情況修改
一切完畢之後重啓IIS,趕緊寫一個測試頁試一下吧.
我第一次安裝時,由於爲了服務器的安全我刪除了wsshell命令,導致在第3步時出現瞭如下錯誤:
Microsoft JScript 運行時錯誤: Automation 服務器不能創建對象
後通過重新註冊命令:regsvr32 WSHom.ocx
問題解決
重啓IIS後,打開測試頁出現如下提示:
Microsoft JScript 運行時錯誤: Automation 服務器不能創建對象
後通過重新註冊命令:regsvr32 WSHom.ocx
問題解決
重啓IIS後,打開測試頁出現如下提示:
FastCGI Error
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
The FastCGI Handler was unable to process the request.
--------------------------------------------------------------------------------
Error Details:
Error Number: 5 (0x80070005).
Error Description: 拒絕訪問。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
Error Description: 拒絕訪問。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
這個錯誤是由於在解壓PHP之後,沒有對IIS啓動帳戶賦予該目錄的讀取和運行權限.修改文件夾安全屬性,問題解決.