在Windows Server 2008 x64 IIS7上使用PHP On FastCGI

繼上次在Windows Server 2008 x64 IIS7上使用PHP成功之後

回家再度研究了一下
終於把FastCGI的問題也處理好了

在此大概把流程也記錄一下
提供之後如果有需要的時候參考使用

會使用FastCGI的方式有以下幾個原因
1.PHP Windows 版本從 5.3之後不再提供ISAPI的方式
2.根據微軟所說,FastCGI的執行模式會比ISAPI快(據說10%??)
3.不需要再把php.ini丟到C:\WINDOWS資料夾,系統會根據CGI程式的位置去尋找這個配置文件。

OK~
其實安裝步驟跟上一篇文章其實沒有差太多
只是下載的檔案壓縮包不同
首先將php-5.3.6-Win32-VC9-x86.zip下載下來
然後解壓縮

【步驟1】
下載php-5.3.6-Win32-VC9-x86.zip套件到電腦


【步驟2】
解壓縮到要安裝的位置,例如C:\PHP,在這裡我使用的測試機路徑是D:\_Service\PHP_FastCGI


【步驟3】
複製php.ini-production這個文件出來,更改名稱為php.ini


【步驟4】
編輯php.ini,有幾個要修改的地方

將
;cgi.force_redirect = 1
更改為
cgi.force_redirect = 0
將
;cgi.fix_pathinfo=1
更改為
cgi.fix_pathinfo=1
將
;fastcgi.impersonate = 1;
更改為
fastcgi.impersonate = 1
將
; extension_dir = "ext"
更改為
extension_dir = "ext"
將
;extension=php_mbstring.dll
更改為
extension=php_mbstring.dll
將
;extension=php_mysql.dll
更改為
extension=php_mysql.dll
將
;date.timezone =
更改為
date.timezone = "Asia/Taipei"

(如果你不在台灣,請改成你的時區)


【步驟5】
開啟IIS管理員(Internet Information Services (IIS) 管理員)


【步驟6】
點選「連線到localhost」


【步驟7】
點兩下左鍵開啟其中的功能「處理常式對應」


【步驟8】
選擇「新增模組對應」

要求路徑輸入:*.php
模組:FastCGIModule
執行檔路徑:D:\_Service\PHP_FastCGI\php-cgi.exe
名稱:PHP On FastCGI
按下確定要新增的時候會詢問是否為此執行檔建立FastCGI應用程式,請選擇是


【步驟9】
接下來點選「應用程式集區」
點選「DefaultAppPool」這個應用程式集,然後選擇「進階設定」

在進階設定中會看到一個項目「啟用32位元應用程式」,預設為False
請將這個更改為True

然後重新啟動伺服器


【步驟10】
接下來在預設的網站目錄中「Default Web Site」,我們可以新增一個檔案來測試
新增一個文字檔案取名為phpinfo.php
內容輸入
[php]

[/php]


【步驟11】
在瀏覽器開啟
http://localhost/phpinfo.php
沒有問題的話就可以看到PHP的INFO資訊


基本上到此就大功告成
要注意的是
以往在5.2版的ISAPI模式中
我把所有DLL擴充程式庫開啟基本上是沒啥問題
但是在5.3版後
就會造成FastCGI故障

所以要開啟DLL擴充程式庫的時候
請一個一個測試
沒有用到的就先保持註解不啟用的狀態
免得影響程式執行

這也是當初我一直沒辦法正常啟用FastCGI的原因

提供一些我參考的文章
1.IIS7 + ASP + PHP 安裝指南,Windows7 x64 版
2.快速在Windows Server 2008 R2的IIS 7.5安裝設定PHP

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>