虽然LAMP组合很不错,但是如果想要架设一台同时支持PHP、ASP、ASP.NET、JSP、Perl的Web虚拟主机服务器,还是用Windows2003的IIS6最好。网上有很多介绍在IIS6上配置PHP的文章,但是那些方法不是性能不好,就是升级麻烦。下面的方法可以让你在第一次配置好后,能够非常方便的进行升级。
这里所说的升级,是指从某个PHP4版本升级到另一个PHP4版本,或者从某个PHP5版本升级到另一个PHP5版本,而不是指从PHP4升级到PHP5。
准备:
1、一台安装好的Windows2003服务器,并且已经安装了IIS6。
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
上面这些,开头没有加分号的是打开的扩展,加了分号的是没有打开的扩展。上面的设置包含了在Windows2003上默认安装情况下可以打开所有扩展(这里列出的是PHP4的)。
session.save_path=c:sessions
这个是session文件默认保存的目录,这个目录必须是一个存在的目录,不然默认的session功能会无效。我这里设置的是一个ramdisk上的一个目录。将session.save_path设置在ramdisk上可以加快session处理的速度。如果你没有安装ramdisk,你可以把它指定到其他盘的任何一个目录下,如C:sessions目录、C:WindowsTemp目录等。
OK,基本工作作完了,现在该配置IIS了。
打开“Internet信息服务(IIS)管理器”,在“Web服务扩展”里,选择“添加一个新的Web服务扩展”,扩展名可填写“PHPISAPI扩展”,要求的文件选择: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目录中复制任何文件。是不是很方便啊?