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 相关文章推荐
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 PHP
php 无限极分类
Mar 27 PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
比较discuz和ecshop的截取字符串函数php版
Sep 03 PHP
浅析php插件 HTMLPurifier HTML解析器
Jul 01 PHP
PHP防止跨域提交表单
Nov 01 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
Mar 26 PHP
php实现学生管理系统
Mar 21 PHP
php中的抽象方法和抽象类
Feb 14 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
php写入文件不覆盖的实例讲解
Sep 17 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
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
浅谈javascript中基本包装类型
2015/06/03 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
windows下安装python paramiko模块的代码
2013/02/10 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
使用Python发现隐藏的wifi
2020/03/04 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
加拿大最大的书店:Indigo
2017/01/01 全球购物
联想马亚西亚官方网站:Lenovo Malaysia
2018/09/19 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
行政管理人员精品工作推荐信
2013/11/04 职场文书
军人违纪检讨书
2014/02/04 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
数学系毕业生求职信
2014/05/29 职场文书
医学生求职信
2014/07/01 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
好人好事新闻稿
2015/07/17 职场文书