雖然 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:phpdlls;C:phpextensions;C:phpsapi;
將 php.ini-dist 或 php.ini-recommended 復制到 C:Windows 目錄下,並改名為 php.ini,一般正式發布網站的服務器用 php.ini-dist,而作為調試用的服務器用 php.ini-recommended 更好。當然一般情況下,這個 php.ini 還是需要根據實際情況來修改的。
下面來介紹一下幾個必要的修改選項:
extension_dir = "C:phpextensions"
這個是 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:WindowsTemp 目錄等。
OK,基本工作作完了,現在該配置 IIS 了。
打開“ Internet 信息服務(IIS)管理器”,在“ Web 服務擴展”裡,選擇“添加一個新的 Web 服務擴展”,擴展名可填寫“PHP ISAPI 擴展”,要求的文件選擇:C:phpsapiphp4isapi.dll(如果安裝的是 PHP5,則此處是 C:phpsapiphp5isapi.dll,下同),並設置擴展狀態為允許。
打開“網站”->“屬性”->“ISAPI 篩選器”->“添加”,篩選器名稱可填寫“PHP”,可執行文件仍然選擇 C:phpsapiphp4isapi.dll。
打開“網站”->“屬性”->“主目錄”->“應用程序設置”->“配置”->“應用程序擴展”->“添加”,可執行文件還是選擇 C:phpsapiphp4isapi.dll。擴展名填寫“.php”,動作限制為“HEAD,GET,POST”。
打開“網站”->“屬性”->“文檔”->“啟用默認內容文檔”->“添加”,可以將 index.php 添加為默認內容文檔。
然後選擇“服務器機器名”->“所有任務”->“重新啟動 IIS”來重啟 IIS。
測試
在默認網站發布目錄下,建立一個測試頁面:
下載:phptest.php
phpinfo();
?>
如果打開這個頁面能夠看到 php 安裝配置信息,就算是安裝成功了。
如果想要更優化的執行 php 程序,可以安裝 ZendOptimizer-2.6.0-Windows-i386.exe ,這個東西安裝非常簡單,這裡就不介紹了。
升級
現在升級就非常簡單了。只需要將新版本的 PHP 二進制壓縮包下載下來,將原來的 C:php 目錄刪除,將新版本解壓縮到 C:php 目錄中,然後重新啟動一下 IIS 就可以了。不需要修改任何配置,也不需要往 System32 目錄中復制任何文件。是不是很方便啊?