IIS6的PHP最佳配置方法


Posted in PHP onMarch 19, 2007

虽然 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 目录中复制任何文件。是不是很方便啊? 

PHP 相关文章推荐
输出控制类
Oct 09 PHP
PHP在字符串中查找指定字符串并删除的代码
Oct 02 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
php中通过curl检测页面是否被百度收录
Sep 27 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
PHP中的静态变量及static静态变量使用详解
Nov 05 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
php获取flash尺寸详细数据的方法
Nov 12 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
Apr 03 PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 PHP
php 的多进程操作实践案例分析
Feb 28 PHP
php中的实现trim函数代码
Mar 19 #PHP
php中判断一个字符串包含另一个字符串的方法
Mar 19 #PHP
php之字符串变相相减的代码
Mar 19 #PHP
PHP入门速成教程
Mar 19 #PHP
phpMyAdmin 安装教程全攻略
Mar 19 #PHP
PHP5中的this,self和parent关键字详解教程
Mar 19 #PHP
一篇不错的PHP基础学习笔记
Mar 18 #PHP
You might like
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
JavaScript 撑出页面文字换行
2009/06/15 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
使用Nodejs开发微信公众号后台服务实例
2014/09/03 NodeJs
封装好的一个万能检测表单的方法
2015/01/21 Javascript
让JavaScript中setTimeout支持链式操作的方法
2015/06/19 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
Vue 数据绑定的原理分析
2020/11/16 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
python之pandas用法大全
2018/03/13 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
2014年安全生产大检查方案
2014/05/13 职场文书
语文教研活动总结
2014/07/02 职场文书
酒店工程部岗位职责
2015/02/12 职场文书
清洁工个人总结
2015/03/04 职场文书
《夹竹桃》教学反思
2016/02/23 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python
go语言中http超时引发的事故解决
2021/06/02 Golang