手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

IIS 6 下的 PHP 最佳配置方法

首页 > Software >

虽然 LAMP 组合很不错,但是如果想要架设一台同时支持 PHP、ASP、ASP.NET、JSP、Perl 的 Web 虚拟主机服务器,还是用 Windows 2003 的 IIS 6 最好。网上有很多介绍在 IIS 6 上配置 PHP 的文章,但是那些方法不是性能不好,就是升级麻烦。下面的方法可以让你在第一次配置好后,能够非常方便的进行升级。

这里所说的升级,是指从某个 php4 版本升级到另一个 php4 版本,或者从某个 php5 版本升级到另一个 php5 版本,而不是指从 php4 升级到 php5。

准备:

一台安装好的 Windows 2003 服务器,并且已经安装了 IIS 6。

下载 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 扩展所放置的目录,请确保跟你实际安装的目录相同。

PHP常用扩展
  1. extension=php_mbstring.dll  
  2. ;extension=php_big_int.dll  
  3. extension=php_bz2.dll  
  4. extension=php_cpdf.dll  
  5. extension=php_crack.dll  
  6. extension=php_curl.dll  
  7. extension=php_db.dll  
  8. extension=php_dba.dll  
  9. extension=php_dbase.dll  
  10. extension=php_dbx.dll  
  11. extension=php_domxml.dll  
  12. ;extension=php_exif.dll  
  13. ;extension=php_fdf.dll  
  14. ;extension=php_filepro.dll  
  15. extension=php_gd2.dll  
  16. extension=php_gettext.dll  
  17. extension=php_hyperwave.dll  
  18. extension=php_iconv.dll  
  19. ;extension=php_ifx.dll  
  20. ;extension=php_iisfunc.dll  
  21. extension=php_imap.dll  
  22. ;extension=php_interbase.dll  
  23. extension=php_java.dll  
  24. extension=php_ldap.dll  
  25. ;extension=php_mcrypt.dll  
  26. extension=php_mhash.dll  
  27. extension=php_mime_magic.dll  
  28. extension=php_ming.dll  
  29. extension=php_mssql.dll  
  30. extension=php_msql.dll  
  31. ;extension=php_oci8.dll  
  32. extension=php_openssl.dll  
  33. ;extension=php_oracle.dll  
  34. extension=php_pdf.dll  
  35. extension=php_pgsql.dll  
  36. ;extension=php_printer.dll  
  37. extension=php_shmop.dll  
  38. ;extension=php_snmp.dll  
  39. extension=php_sockets.dll  
  40. ;extension=php_sybase_ct.dll  
  41. extension=php_w32api.dll  
  42. extension=php_xmlrpc.dll  
  43. extension=php_xslt.dll  
  44. extension=php_yaz.dll  
  45. extension=php_zip.dll  

上面这些,开头没有加分号的是打开的扩展,加了分号的是没有打开的扩展。上面的设置包含了在 Windows 2003 上默认安装情况下可以打开所有扩展(这里列出的是 php 4 的)。

session.save_path = b:\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,下同),并设置扩展状态为允许。

打开“网站”->“属性”->“主目录”->“应用程序设置”->“配置”->“应用程序扩展”->“添加 ”,可执行文件还是选择 C:\php\sapi\php4isapi.dll。扩展名填写“.php”,动作限制为“HEAD,GET,POST”。

打开“网站”->“属性”->“文档”->“启用默认内容文档”->“添加”,可以将 index.php 添加为默认内容文档。

然后选择“服务器机器名”->“所有任务”->“重新启动 IIS”来重启 IIS。

测试

在默认网站发布目录下,建立一个测试页面:

PHP代码
  1. <?php  
  2. phpinfo();  
  3. ?> 

 

如果打开这个页面能够看到 php 安装配置信息,就算是安装成功了。

如果想要更优化的执行 php 程序,可以安装 ZendOptimizer-3.0.1-Windows-i386.exe,这个东西安装非常简单,这里就不介绍了。

升级

现在升级就非常简单了。只需要将新版本的 PHP 二进制压缩包下载下来,将原来的 C:\php 目录删除,将新版本解压缩到 C:\php 目录中,然后重新启动一下 IIS 就可以了。不需要修改任何配置,也不需要往 System32 目录中复制任何文件。是不是很方便啊?


膘叔的小技巧:
由于在IIS下面建立站点和关闭站点都比较方便,但是象上面说的升级就不是很方便了。我是指启用站点,虽然直接点击控制台上的restart按钮很方便,但。。。WINDOWS有时候会突然卡死,那时候是关也不能关,开也不能开,只能注销,在这里,我提供一个小小的批处理文件,只要放在桌面上,想重启的时候运行一下就行了。。
文件内容如下:

XML/HTML代码
  1. net stop w3svc  
  2. net start w3svc  

是不是很简单?但不要小看这两行,WINDOWS好象是对命令行的处理有一定的优先级,而且用命令行不会被卡死。

 




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"易栈网-膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: iis, php, setup, config

« 上一篇 | 下一篇 »

只显示10条记录相关文章

使用PHP得到所有的HTTP请求头 (浏览: 62785, 评论: 3)
我为什么会选用phpstorm (浏览: 52696, 评论: 5)
快速生成目录树 (浏览: 46841, 评论: 7)
通过file_get_contents来Post数据的实例 (浏览: 46406, 评论: 5)
PHP导入导出Excel方法 (浏览: 45228, 评论: 3)
PHP的XSS攻击过滤函数 (浏览: 42728, 评论: 2)
PHP中Eval的作用 (浏览: 41669, 评论: 4)
超详细:在Mac OS X中配置Apache + PHP + MySQL (浏览: 40389, 评论: 1)
PHP常见错误(二) (浏览: 39785, 评论: 1)
PHP sendmail (浏览: 37969, 评论: 7)

发表评论

评论内容 (必填):