本來(lái)不打算寫這份心得的,這幾天為了安裝wordpress,得升級(jí)一下PHP的版本,于是乎去下了個(gè)PHP5.3.8,之前不知道5.3x跟5.2x有那么大的差距,按照老方法安裝了一遍,木有作用。到網(wǎng)上找了很多傳說(shuō)中的高手寫的文章,前前后后重裝了10幾次才折騰成功!廢話就不說(shuō)了,來(lái)點(diǎn)實(shí)際的。
我只說(shuō)IIS 6 + PHP5.3 ,Apache那玩意還木有研究過(guò)。
1.下載一個(gè)FastCgi For IIS6 ,到這里去下載,http://www.iis.net/expand/fastcgi
反正我下載到的文件是這樣的,應(yīng)該都差不多,如下圖

下載完畢之后就安裝,安裝成功后會(huì)在C:\WINDOWS\system32\inetsrv\目錄下搞出了5個(gè)文件,如下圖

這個(gè)時(shí)候在IIS 6的“WEB服務(wù)擴(kuò)展”里就多出了一個(gè)FastCGI Handler

2.去下載一個(gè)php-5.3.8-nts-Win32-VC9-x86.zip(不好意思,這個(gè)我忘記是在哪里下載了),然后解壓到D:\PHP目錄(可以解壓到任意目錄,這里就按照我自己的習(xí)慣來(lái)講吧),并給IIS啟動(dòng)帳戶或用戶賦予讀取和運(yùn)行權(quán)限。
接著將D:\PHP目錄下的所有.dll復(fù)制到C:\WINDOWS\system32下,如果有提示覆蓋的,就全部覆蓋吧。注:網(wǎng)上很多人的文章里都沒(méi)寫這一點(diǎn),不知道是他們太高估了我的智商還是他們給忘記了,這點(diǎn)蠻重要。
到命令行可以輸入COPY D:\PHP\*.dll C:\WINDOWS\system32\ ,省得找的麻煩。
3.注冊(cè)PHP 到 FastCGI
打開 C:\WINDOWS\system32\inetsrv\fcgiext.ini文件
在[Types]下面添加以下配置(網(wǎng)上大部分人都說(shuō)了行號(hào),讓你到哪一行附近去找,這是個(gè)誤區(qū),直接到這個(gè)文件的末尾就是,前面是沒(méi)有分號(hào)的)
[Types]
php=PHP
[PHP]
ExePath=D:\PHP\php-cgi.exe
如下圖所示

接下來(lái)就是修改php.ini配置文件了,D:\PHP目錄下是找不到這個(gè)文件的,可以把php.ini-development復(fù)制一份,然后重命名為php.ini
打開php.ini后Ctrl+F查找
extension_dir = "./" , 把這個(gè)修改成extension_dir = "D:/PHP"
在D:下建立文件夾,并命名為tmp
查找;upload_tmp_dir =
將;upload_tmp_dir = 最前面的";"去掉
upload_tmp_dir是用來(lái)定義上傳文件存放的臨時(shí)路徑,這里可以修改并給它定義一個(gè)絕對(duì)路徑,同時(shí)需要有讀、寫權(quán)限。
這里我的設(shè)置為upload_tmp_dir = "D:/tmp" (這就是我前面建立的文件夾)
找到 ;fastcgi.impersonate = 1 ,記得把前面的";"去掉
找到 ;short_open_tag = Off ,把前面的";"去掉,并把"Off"改成"On"
搜索Windows Extensions,將以下這些常用擴(kuò)展前面的分號(hào)去掉
; extension=php_curl.dll
; extension=php_gd2.dll
; extension=php_ldap.dll
; extension=php_mbstring.dll
; extension=php_exif.dll
; extension=php_mysql.dll
; extension=php_mysqli.dll
; extension=php_sockets.dll
; extension=php_xmlrpc.dll

繼續(xù)!
搜索;date.timezone =
去掉前面的分號(hào),將其設(shè)置為 date.timezone = Asia/Shanghai
傳說(shuō)還可以設(shè)置為PRC,這個(gè)我沒(méi)試過(guò),大家有興趣,愛折騰的可以去試一下。
如果不修改date.timezone,打開網(wǎng)頁(yè)的時(shí)候蠻有可能提示500錯(cuò)誤
---------------------------------------------------------------------
需要說(shuō)明一下的是把D:\PHP下的php.ini文件copy到C:\WINDOWS下,然后再把D:\PHP下的php.ini刪除掉(我沒(méi)刪除,而是改了個(gè)后綴收藏起來(lái)了)
4.配置網(wǎng)站
打開IIS 6管理器,在"網(wǎng)站"上點(diǎn)右鍵-->屬性-->主目錄-->配置-->添加,,操作方式就不詳寫了,繼續(xù)上圖



可執(zhí)行文件路徑是: C:\WINDOWS\system32\inetsrv\fcgiext.dll
運(yùn)行D:\PHP\php-cgi.exe,如果能進(jìn)入命令窗口并且只有光標(biāo),說(shuō)明FastCGI能正常調(diào)用php-cgi,否則會(huì)提示錯(cuò)誤,如圖

OK,基本上就這些了,把IIS重啟一下,命令行輸入IISRESET,傳說(shuō)這個(gè)步驟很重要!!!
這時(shí)候可以找個(gè)php文件測(cè)試一下,常用的最簡(jiǎn)單的方式就是
看到類似以下效果就說(shuō)明成功了