場景
- 客戶提供的服務器只有Windows平臺;
- 客戶可提供的二級域名有限,或無法提供二級域名;
- 服務器所在網絡監管很嚴格,一般只開放80服務端口(如需開放其他端口則需要較長審批流程),無法通過VPN或FTP方式進行後期系統維護;
- Windows 2003
- IIS 6.0(.Net Frameworks 2.0+)
- PHP 5.3.13
- MySQL
- 微博(記事狗)
- 論壇(Discuz!)
1.準備工作
- 2種可選方案 - ISAPI和FastCGI;
- 最終選擇FastCGI - 由於文章中指出“ISAPI方式穩定性不佳,經常會導致整個Web Server Crash,所以微軟特別針對IIS開發了FastCGI模組(IIS7已內建),據說效能及穩定性都有較大改善”。
- 下載 PHP 包( 使用 php-5.3.13-Win32-VC9-x86.zip 線程安全版 ) - 最好安裝於非系統盤,與項目系統處於同一文件夾且需是英文目錄路徑(暫時不考慮IO問題)。
- 下載 FastCGI for IIS 包並安裝 - 默認安裝於 %windir%\system32\inetsrv 目錄下,包含fcgiext.dll、fcgiext.ini、fcgiconfig.js等幾個文件。
cgi.force_redirect = 0 cgi.fix_pathinfo=1 fastcgi.impersonate = 1
php:823433=PHP ;小寫php爲指定處理.php後綴的url請求,冒號後面數字標識對應IIS站點編號,等號右邊的大寫PHP表示對應的具體處理節[PHP]
RequestTimeout=50
ActivityTimeout=90
對
C:\PHP5 目錄增加 IIS_WPG 羣組的讀取及執行權限。
(沒加這個就會跑出
FastCGI Error)
5.
加入系統環境變數 (讓 extension 及 php.ini 能順利被找到)。
Path=C:\PHP5;
PHPRC=C:\PHP5
8.
檢查網頁服務延伸。
(正常的話應該會有這一項,若沒有請自行加入
C:\WINDOWS\system32\inetsrv\fcgiext.dll)
1. PHP 的文件 log 好像不能啓動;
2. PHP 相關優化配置工作沒有進行 - 數據庫緩存設置、進程內存使用大小限制、上傳文件限制等;
- IIS6+PHP5 (FastCGI) 安裝攻略 - http://blog.linym.net/archives/264
- IIS6+PHP5(ISAPI)安裝攻略 - http://blog.linym.net/archives/240
- PHP 配置相關鏈接
- PHP - http://windows.php.net/download/
- FastCGI for IIS - http://www.iis.net/download/FastCGI