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 相关文章推荐
substr()函数中文版
Oct 09 PHP
php字符串分割函数用法实例
Mar 17 PHP
PHP生成器简单实例
May 13 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
thinkPHP简单实现多个子查询语句的方法
Dec 05 PHP
解决php-fpm.service not found问题的办法
Jun 06 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
Oct 07 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
php7 新增功能实例总结
May 25 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
详解Window7 下开发php扩展
2015/12/31 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
javascript globalStorage类代码
2009/06/04 Javascript
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
jquery操作cookie插件分享
2014/01/14 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
jQuery中filter()方法用法实例
2015/01/06 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
自己封装的一个原生JS拖动方法(推荐)
2016/11/22 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[44:22]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第一场 11.01
2020/11/02 DOTA
如何实现删除numpy.array中的行或列
2018/05/08 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
渡河少年教学反思
2014/02/12 职场文书
村级换届选举方案
2014/05/10 职场文书
大学生军训自我鉴定范文
2014/09/18 职场文书
水知道答案观后感
2015/06/08 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫