作者:冷漠
雖然 LAMP 組合很不錯,但是如果想要架設一台同時支援 PHP、ASP、ASP.NET、JSP、Perl 的 Web 虛擬機器主機伺服器,還是用 Windows 2003 的 IIS 6 最好。網上有很多介紹在 IIS 6 上配置 PHP 的文章,但是那些方法不是效能不好,就是升級麻煩。下面的方法可以讓你在第一次配置好後,能夠非常方便的進行升級。
這裡所說的升級,是指從某個 php4 版本升級到另一個 php4 版本,或者從某個 php5 版本升級到另一個 php5 版本,而不是指從 php4 升級到 php5。
準備:
1、一台安裝好的 Windows 2003 伺服器,並且已經安裝了 IIS 6。
2、下載 windows 版的 PHP 二進位壓縮包
安裝:
解壓縮 PHP 二進位壓縮包到 C:\php 目錄下(這裡假設 C: 盤是系統硬碟,即安裝了Windows 系統的盤,如果系統硬碟是 D: 盤,則解壓縮到 D:\php 目錄下,以此類推,下同)。
然後開啟“我的電腦”->“屬性”->“進階”->“環境變數”->“系統變數”->“path”,編輯其值,在前面增加下面的路徑地址:
C:\php;C:\php\dlls;C:\php\extensions;C:\php\sapi;
將 php.ini-dist 或 php.ini-recommended 複製到 C:\Windows 目錄下,並改名為 php.ini,一般正式發布網站的伺服器用 php.ini-dist,而作為調試用的伺服器用 php.ini-recommended 更好。當然一般情況下,這個 php.ini 還是需要根據實際情況來修改的。
下面來介紹一下幾個必要的修改選項:
extension_dir = "C:\php\extensions"
這個是 PHP 擴充所放置的目錄,請確保跟你實際安裝的目錄相同。
extension=php_mbstring.dll
;extension=php_big_int.dll
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
extension=php_curl.dll
extension=php_db.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_dbx.dll
extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
extension=php_imap.dll
;extension=php_interbase.dll
extension=php_java.dll
extension=php_ldap.dll
;extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
;extension=php_oci8.dll
extension=php_openssl.dll
;extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
;extension=php_printer.dll
extension=php_shmop.dll
;extension=php_snmp.dll
extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_yaz.dll
extension=php_zip.dll
上面這些,開頭沒有加分號的是開啟的擴充,加了分號的是沒有開啟的擴充。上面的設定包含了在 Windows 2003 上預設安裝情況下可以開啟所有擴充(這裡列出的是 php 4 的)。
session.save_path = c:\sessions
這個是 session 檔案預設儲存的目錄,這個目錄必須是一個存在的目錄,不然預設的 session 功能會無效。我這裡設定的是一個 ramdisk 上的一個目錄。將 session.save_path 設定在 ramdisk 上可以加快 session 處理的速度。如果你沒有安裝 ramdisk,你可以把它指定到其他盤的任何一個目錄下,如 C:\sessions 目錄、C:\Windows\Temp 目錄等。
OK,基本工作作完了,現在該配置 IIS 了。
開啟“ Internet 資訊服務(IIS)管理器”,在“ Web 服務擴充”裡,選擇“添加一個新的 Web 服務擴充”,副檔名可填寫“PHP ISAPI 擴充”,要求的檔案選擇:C:\php\sapi\php4isapi.dll(如果安裝的是 PHP5,則此處是 C:\php\sapi\php5isapi.dll,下同),並設定擴充狀態為允許。
開啟“網站”->“屬性”->“ISAPI 篩選器”->“添加”,篩選器名稱可填寫“PHP”,可執行檔仍然選擇 C:\php\sapi\php4isapi.dll。
開啟“網站”->“屬性”->“主目錄”->“應用程式設定”->“配置”->“應用程式擴充”->“添加”,可執行檔還是選擇 C:\php\sapi\php4isapi.dll。副檔名填寫“.php”,動作限制為“HEAD,GET,POST”。
開啟“網站”->“屬性”->“文檔”->“啟用預設內容文檔”->“添加”,可以將 index.php 添加為預設內容文檔。
然後選擇“伺服器機器名”->“所有任務”->“重新啟動 IIS”來重啟 IIS。
測試
在預設網站發布目錄下,建立一個測試頁面:
下載:phptest.php
<?php
phpinfo();
?>
如果開啟這個頁面能夠看到 php 安裝配置資訊,就算是安裝成功了。
如果想要更最佳化的執行 php 程式,可以安裝 ZendOptimizer-2.6.0-Windows-i386.exe ,這個東西安裝非常簡單,這裡就不介紹了。
升級
現在升級就非常簡單了。只需要將新版本的 PHP 二進位壓縮包下載下來,將原來的 C:\php 目錄刪除,將新版本解壓縮到 C:\php 目錄中,然後重新啟動一下 IIS 就可以了。不需要修改任何配置,也不需要往 System32 目錄中複製任何檔案。是不是很方便啊?