Microsoft Web Platform Installer 2.0 (Web PI),是微軟一個很值得推薦的新產品,若您是ASP及PHP的喜好者,過去在IIS上佈置執行環境,甚至是ASP與PHP的共用環境,相信是過程與管理一定是個惡夢。根據官網(http://www.microsoft.com/web/downloads/platform.aspx)上的說明:
可以讓您更輕鬆地下載、安裝和隨時更新 Microsoft Web Platform 的最新元件,包括網際網路資訊服務 (IIS)、SQL Server Express、.NET Framework 和 Visual Web Developer。 此外,您也可以透過 Web PI 來安裝熱門的開放原始碼 ASP.NET 和 PHP Web 應用程式。
其中有一點很誘人的,就是您利用這個程式為IIS安裝一些開放原始碼套裝程式時,它會視這個程式的需求,自動的為您下載相關的資源後安裝,並對IIS進行相關的設定。舉例來說,如果您在它的畫面選擇要安裝WordPress,它會自動下載PHP、MySQL、WordPress,並在IIS安裝PHP,在系統中安裝MySQL資料庫,最後再裝上WordPress。這根本就是一個想玩架站機但是搞不定伺服器的人們心中的夢幻逸品啊~
在WebPI中可以安裝的PHP應用程式,都是目前很熱門的程式,例如WordPress、Drupal、Joomla!、Moodle等,而且還不停的新增中。
今天的主題並不是這些應用程式的安裝,而還是圍繞在 IIS 上安裝 PHP 的問題上。什麼?不是只要使用 WebPI 就可以一次搞定嗎?我也想啊,但是事情不是我們所想的那樣,在安裝的過程中我還是遇到很多的問題啊,所以這篇文章就希望為自己所遇到的問題做個筆記,也提供想要試試看的朋友,遇到困難時可以參考。
Directory Listing Denied
在安裝完 Web PI 後,興沖沖想看看是可以正確執行,開啟瀏覽器輸入主機位址與資料夾,卻出現「Directory Listing Denied」的錯誤訊息。其實這個問題很小,大多是因為 IIS 所設定的預設文件沒有包含 WordPress 的首頁檔案,也就是沒有包含「index.php」,所以就會出現這個訊息。
解決方法如下:
- 請先進入 IIS 管理員,若有多個網站請先選取要設定的網站,再按下工具列的 [內容] 鈕,或在網站上按下右鍵,選取 [內容]。
- 選取 [文件] 標籤,按下 [新增] 鈕,在 [預設內容頁] 欄位中輸入 「index.php」後按下 [確定] 鈕,新增預設頁面。
如此一來在開啟網站時,IIS 就知道要找 index.php 來顯示了。但是會出現這個錯誤訊息就代表了一件事,Web PI 似乎沒有聰明到幫主機的 IIS 進行相關的設定,讓我有了一絲絲的擔心,那麼接下來對於 PHP 執行的測試,是否都要手動去調整 IIS 的設定呢?
找不到這個頁面
什麼?找不到頁面,明明有這個檔案啊!這個頁面的出現代表 IIS 並不認識 .php 的檔案,也就是 Web PI 真的沒有自動修改 IIS 的設定,所以這裡遇到的第一個問題,就是要讓 IIS 可以執行 PHP 的檔案。
解決方法如下:
- 請先進入 IIS 管理員,若有多個網站請先選取要設定的網站,再按下工具列的 [內容] 鈕,或在網站上按下右鍵,選取 [內容]。
- 選取 [主目錄] 標籤,按下 [啟動點] 右方的 [設定] 鈕。
- 選取 [對應] 標籤,按 [新增] 鈕。
- 請進行以下的設定 :
[執行檔]:「C:\WINDOWS\system32\inetsrv\fcgiext.dll」
[副檔名]:「.php」
[指令動詞]:「所有的指令動詞」
最後按 [確定] 鈕。
如此 IIS 在開啟 .php 檔案時,即知道要找 <C:\WINDOWS\system32\inetsrv\fcgiext.dll> 來處理程式,進行編譯。
FastCGI Error:The FastCGI Handler was unable to process the request.
為什麼要開個 PHP 程式這麼困難啊?最後又出現一個錯誤訊息,而且還整篇英文的!不過訊息中有提到「Unable to place a FastCGI process in a JobObject. Try disabling the Application Pool CPU Limit feature」,要就是請我們要關閉 CPU 限制監視的功能即可解決。
解決的方式如下:
- 請先進入 IIS 管理員,請開啟 [應用程式集區] 資料夾,選取 [Default App Pool] 後,再按下工具列的 [內容] 鈕,或在其上按下右鍵,選取 [內容]。
- 選取 [效能] 標籤,取消核選 [啟用 CPU 監視] 後按 [確定] 鈕。
如此即完成修改,再回到原來的視窗重整一下,鳴~~~終於看到成功顯示的畫面了。
參考資料:
配置IIS6+PHP5.3
利用 Web PI 安裝 PHP5 與 SQL Server Driver for PHP 心得