今天做了一下IIS6下升級到PHP 5.3.X,但是卻發(fā)現(xiàn)了不少問題。在以前PHP 5.2.X中,只需要使用php5isapi.dll的方式就可以,但在PHP 5.3以后卻不再支持ISAPI模式了,也沒有此文件。所以本文介紹使用FastCgi在IIS6來配置PHP 5.3運行環(huán)境。
1、下載PHP 5.3.X
官方下載地址:http://windows.php.net/download/
注意,一定要下載VC9 x86 Thread Safe的,文件名形式如:php-5.3.13-Win32-VC9-x86.zip
2、下載FastCGI
官方下載地址:http://www.iis.net/extensions/fastcgi
有支持IIS6和IIS5.1的32位版本和64位版本,還有支持IIS7的,因為IIS7與IIS6差別比較大,所以對于IIS7以后再介紹吧。
3、安裝FastCgi
安裝FastCgi沒什么可介紹的,但是有一點要注意,就是系統(tǒng)要先安裝VC9運行庫才能正常運行,否則會報“FastCGI Error 14001 (0x800736b1)”之類的錯誤。
所以要先安裝VC9運行庫(即VISUAL C++ 2008)
Microsoft Visual C++ 2008 Redistributable Package (x86)下載地址:
http://download.microsoft.com/download/5/9/e/59e74271-2b59-49a1-b955-96b69cc34f38/vcredist_x86.exe
配置FastCGI
打開FASTCGI配置文件C:\WINDOWS\system32\inetsrv\fcgiext.ini,在最后[Types]修改為這樣的樣式
[Types]
php=PHP
[PHP]
ExePath=D:\php\php-cgi.exe
4、開始安裝PHP環(huán)境
解壓php-5.3.13-Win32-VC9-x86.zip壓縮包到 d:\php
找到PHP安裝目錄下的php.ini-production并改名為php.ini文件,也有人使用php.ini-development。
修改PHP.ini文件
找到
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
; date.timezone =
更改為
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Shanghai
找到
; On windows:
; extension_dir = "ext"
改為
; On windows:
extension_dir = "D:\php\ext"
查找extension=php_,去掉以下幾個擴展前面的分號(基本的幾項)。
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
查找short_open_tag = Off,改成On,讓其支持短標(biāo)簽。
增加一行(非常重要)
fastcgi.impersonate = 1
開啟下面兩項
cgi.fix_pathinfo=1
cgi.force_redirect = 0
5、配置IIS
然后打開IIS管理器,網(wǎng)站上點擊右鍵 -> 屬性 -> 主目錄 -> 配置 -> 添加
擴展名:.php
可執(zhí)行文件:C:\WINDOWS\system32\inetsrv\fcgiext.dll (根據(jù)自己的安裝路徑)
動作限制為:GET,HEAD,POST,TRACE
6、測試PHP運行
寫個php測試文件
<? phpinfo(); ?>
能看到運行界面說明就成功了!