文章更新:快速在 Windows Server 2008 R2 的 IIS 7.5 安裝設定 PHP
我很喜歡一些用PHP 所開發出來的系統,比如WordPress、Gallery、Xoops 等。只是,很多網路上的資源都會以安裝Apache 網頁伺服器搭配PHP做示範。說實話,我不是嫌Apache 不好,只是一想到還要花時間研究另一套網頁伺服器就軟一半了。既然我都拿Windows Server 當伺服器,當然還是用IIS 最快啦!
至於安裝PHP 在IIS7 的方式,我個人覺得比起IIS6 簡單許多,只是有幾個地方要注意而已。
1) 到PHP 官網下載PHP。
我個人習慣全手動設定,所以下載壓縮版做範例。
2) 下載後,將裡面的檔案解開到「C:PHP」。
再把「php.ini-dist」或「php.ini-recommended」複製到「C:Windows」目錄裡面,並改名為「php.ini」。
注意!「php.ini」裡的設定,請務必配合你的環境及需求做修改。
3) 安裝IIS7。開啟伺服器管理員,點選「新增角色」。
勾選「網頁伺服器(IIS)」。
IIS7 預設只會安裝下列模組。由於要啟用PHP 的緣故,務必要額外勾選「ISAPI 擴充功能」。
點選下一步後,會列出選擇的安裝項目,可以檢查是否有勾選錯誤。
最後,安裝結果也會列出清單。說真的,Server 2008 在新增移除角色的介面做得很不錯,不會再發生過去Server 2003 或Server 2000,手殘點錯造成移除掉正常功能。
4) 重頭戲上場,準備設定PHP。安裝完成後,到「開始」->「系統管理工具」->「Internet Information Services (IIS) 管理員」。開啟後,點選伺服器尋找「處理常式對應」。
進入後,到動作窗格點選「新增指令碼對應」。
參考下圖,輸入相關設定再按「確定」。名稱的部分可以自訂,只是我一直覺得第一行欄位的翻譯很奇怪,輸入的東西跟路徑一點關係都沒有,怎麼會名為「要求路徑」,但是翻遍微軟的簡中跟日文版詞彙網站都是這樣翻;原來,英文就已經稱為「Request path」... @.@?
之後會出現確認視窗,想用PHP 當然要點「是」啦!
完成後,確認狀態是否為「已啟用」。
5) 其實上面的步驟就已經算是完成PHP 的啟用。但是,大部分用PHP 開發的系統,預設起始網頁為「index.php」,所以必須再加以設定。請回到IIS伺服器的頁面,選擇「預設文件」。
在右方的動作窗格,點選「新增」
輸入「index.php」點「確定」。這樣就大功告成啦!
6) 如果想要測試,PHP 有提供一個語法,讓我們簡單進行確認。
到「C:inetpubwwwroot」(IIS預設站台的起始目錄),新增一個「index.php」或「test.php」的檔案。用記事本或其他軟體,編輯輸入「<?php phpInfo(); ?>」。(或者,也能從我的網站下載該檔案)
參考下圖的方式做測試,成功的話就會出現如第一張圖片的畫面。
以上的設定,是採用「ISAPI」模式來啟用PHP。不過,微軟有另外提供一個FastCGI 搭配PHP 的「php-cgi.exe」做啟用動作,有興趣的人可以參考微軟揪甘心的IIS官方網站 提供的教學 - Using FastCGI to Host PHP Applications on IIS 7.0
只是,根據我自己的測試,雖然Wordpress 能正常使用,但是在Gallery 相簿系統卻會造成奇怪的錯誤。關於這個狀況,我以前在Server 2003下使用CGI 模式啟用PHP 也會同樣發生,所以個人還是偏好用ISAPI 模式,比較沒有奇怪的靈異現象。
想請問老蘇~如果設定與安裝都正確
卻出現404 的錯誤~
請問有可能是哪邊一邊的問題
對了 是因為X64版本的關係嗎?
在x64版本下,IIS7也能使用PHP,
但是要記得將應用程式集區裡的所屬程式,
強迫啟用為32位元模式,
其餘設定都跟32位元沒有什麼不一樣。
另外,如果要跑PHP 加其他相關應用,就不建議在x64 版本下使用了,因為:
1. 我曾在x64 環境下架了Wordpress 作測試,但怎樣都連不上資料庫,猜測是ODBC 或PHP MySQL Extensions 的問題。
2. 目前PHP 官方也沒釋出正式的64位元版本,其他非官方的也有上面這個問題。
今天仔細再研究了一下,
猜想你用的PHP是Fusion-X LAN 開發的64位元版本,
這個版本在設定上必須很注意裡面的說明文件,
而且我花了很久時間仍然無法跟MySQL結合使用。
剛剛才看到蘇老大的回答
不好意思 慢回了一下
我是依照這方是安裝的
是非官方版本的php x64
http://blog.raienet.com/330
果真是x64的關係,我是用server 2008 x64版本~
mysql也安裝了
目前卡在phpMyAdmin 連結錯誤
不知道哪個環節的問題
是MySQL無法連結的錯誤嗎?
如果是的話,那個我找過很多方法做測試,
除非回到32位元的環境下,
否則我怎樣也沒辦法讓MySQL在64位元下使用。
= =果真沒錯~我換回32bit...一切正常
感謝askasu了
您好,
請問如 64Bit IIS + 64Bit php + 64Bit MySQL 可以成功嗎 ?
謝!
不好意思,
64bit的MySQL我目前還沒有測試過。
您好,
小弟今天賞試用 php 連去 MSSQL :
php.ini:
extension = php_mssql.dll ( 確定 php/ext 有該檔案 )
restart iisreset and restart server...
但 phpinfo 仍沒有mssql 資料 ?
不知可以幫忙一下呢 ?
謝!
檢查看看php.ini裡面,
關於「extension_dir」是否有指定到正確位置。