Archive

Posts Tagged ‘server 2003’

IIS6+PHP5 (FastCGI) 安裝攻略

九月 30th, 2008

以往 PHP 的執行模式可分成 CGI 及 ISAPI 兩種,CGI 的 performance 是出名的慢,而 ISAPI 是較多人使用的,但是在 Windows 卻穩定性不佳,經常會導致整個 web server crash,所以微軟特別針對 IIS 開發了 FastCGI 模組(IIS7 已內建),據說效能及穩定性都有大大改善。

安裝步驟:
1. 確認 IIS 已經裝好,然後下載 FastCGI Extension for IIS 6 並且安裝完成。

2. 到 PHP 官網下載新版 PHP5 壓縮檔,並且解壓縮(假設在 C:\PHP5)。

3. 將 C:\PHP5\php.ini-dist 改名為 php.ini,然後依需求編輯設定檔內容,範例:
(後三行必要)

include_path = ".;C:\Inetpub\wwwroot"
extension_dir = "C:\PHP5\ext"

extension=php_curl.dll
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

date.timezone = "Asia/Taipei"

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

4. 對 C:\PHP5 目錄增加 IIS_WPG 群組的讀取及執行權限。
(沒加這個就會跑出 FastCGI Error)

5. 加入系統環境變數 (讓 extension 及 php.ini 能順利被找到)。
Path=C:\PHP5;
PHPRC=C:\PHP5

6. 開啟 IIS 管理員,如下圖設定。

7. 增加預設首頁 index.php

8. 檢查網頁服務延伸。
(正常的話應該會有這一項,若沒有請自行加入 C:\WINDOWS\system32\inetsrv\fcgiext.dll)

9. 開始 > 執行 > cmd
輸入四道指令(注意路徑):
cd C:\WINDOWS\system32\inetsrv

cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"C:\PHP5\php-cgi.exe"

cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000

cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000
(視情況修改數值,InstanceMaxRequests 需小於等於 PHP_FCGI_MAX_REQUESTS)

10. 重新啟動 IIS 就 OK 囉,丟一個測試檔案到網站目錄看看吧!

※2009/03/19 補充:
使用 FastCGI 執行 PHP 程式時,系統是以「NETWORK SERVICE」這個身份執行的,而一般靜態檔案則是以 IIS 預設的匿名身份「IUSR_MachineName」執行,所以如果安裝上發生問題,請特別注意這個權限配置。

相關文章:

PHP, Server, Windows, 系統筆記 , , ,

IIS6+PHP5 (ISAPI) 安裝攻略

九月 30th, 2008

最近因為特別需求要在 IIS6 上面跑 PHP,把以前寫的筆記拿出來看,卻發現怎麼弄也跑不起來,看了很多篇文章還是不行,研究了許久終於可以跑了,經過多次測試保證 100% 可行。
※ 此篇是以 ISAPI 模式執行 PHP,建議使用另一篇的 FastCGI 會有較好的效能。

安裝步驟:
1. 確認 IIS 已經裝好,到 PHP 官網下載新版 PHP5 壓縮檔,並且解壓縮(假設在 C:\PHP5)。

2. 將 C:\PHP5\php.ini-dist 改名為 php.ini,然後依需求編輯設定檔內容,範例:

include_path = ".;C:\Inetpub\wwwroot"
extension_dir = "C:\PHP5\ext"

extension=php_curl.dll
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

date.timezone = "Asia/Taipei"

3. 對 C:\PHP5 目錄增加 IIS_WPG 群組及 IUSR_XXXX 使用者的讀取及執行權限。
(關鍵步驟,一定要兩個都增加,否則執行 PHP 會跳出驗證框)

4. 加入系統環境變數 (讓 extension 及 php.ini 能順利被找到)。
Path=C:\PHP5;
PHPRC=C:\PHP5

5. 開啟 IIS 管理員,如下圖設定。

6. 增加預設首頁 index.php

7. 增加網頁服務延伸。

8. 重新啟動 IIS 就 OK 囉,丟一個測試檔案到網站目錄看看吧!

PHP, Server, 程式筆記, 系統筆記 , , , ,