2010年4月24日

Windows安裝PHP筆記(使用IIS)

這次有個案子要跟別的系統共用伺服器,而伺服器執行Windows 2003,網頁伺服器是用IIS 6,趁這次機會在自己的LAB機上先安裝一下,整個的安裝方式是參考PHP官方的手冊進行,若有需要可以到這裡取得PHP的線上手冊。

1.下載PHP套件

由於我要採用IIS作為我的網站伺服器,手冊建議我們使用Non-thread-safe的版本,請到這裡下載PHP 5.2.x,我將使用zip包進行安裝。

2.解壓縮及安裝PHP

將下載的PHP解壓縮到 "c:\php",在php目錄裡面有個檔案名稱為 php.ini-dist,請將它複製到 "c:windows",並改名為 php.ini。

我們來確認一下 php 程式是否真的可以找到 php.ini檔,請開啟「命令提示字元」並輸入指令:

C:\php>php -i|find "php.ini"
Configuration File (php.ini) Path => C:\WINDOWS
Loaded Configuration File => C:\WINDOWS\php.ini <-- 看到這行表示php以確實找到囉


請編輯C:\WINDOWS\php.ini的內容,確保指令與下面列出的相同
extension_dir = "c:\php\ext"

若你還有需要其他的模組,也請將模組前方的分號拿掉
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_zip.dll

fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0


3.安裝FastCGI模組

再來安裝IIS的FastCGI模組以提高執行效率及穩定性,請到這裡下載FastCGI並著手進行安裝。最後在「命令提示字元」輸入如下指令設定IIS使用FastCGI處理.php的檔案:
C:\>cscript %windir%\system32\inetsrv\fcgiconfig.js -add -section:"PHP" ^
-extension:php -path:"C:\PHP\php-cgi.exe"


設定一個php instance 最多可以處理多少個連線請求,以回收系統資源。
cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-InstanceMaxRequests:10000

cscript %windir%\system32\inetsrv\fcgiconfig.js -set -section:"PHP" ^
-EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000


設定c:\php目錄的權限,增加IIS_WGP有讀取及執行的權限,如下圖(沒加的話會出現FastCGI error)


4.設定IIS

將 index.php 設定為 default document


5. 測試功能

我們可以利用 phpinfo() 函式來確認 php 與 FastCGI 功能是否正確執行。若 phpinfo 頁面的 Server API 是 CGI/FastCGI 就表示 PHP 的安裝沒有問題囉。



參考文獻
˙Using FastCGI to Host PHP Applications on IIS 6.0
˙PHP Manual > Microsoft IIS 5.1 and IIS 6.0
˙PHP Manual > Manual Installation Steps

沒有留言:

張貼留言