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 相关文章推荐
php 数组的创建、调用和更新实现代码
Mar 09 PHP
PHP中删除变量时unset()和null的区别分析
Jan 27 PHP
php 文件上传实例代码
Apr 19 PHP
PHP错误和异长常处理总结
Mar 06 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 PHP
php实现的简单检验登陆类
Jun 18 PHP
ThinkPHP中limit()使用方法详解
Apr 19 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 PHP
Laravel等框架模型关联的可用性浅析
Dec 15 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 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数组操作实例分析【添加,删除,计算,反转,排序,查找等】
2016/12/24 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
javascript中怎么做对象的类型判断
2013/11/11 Javascript
CSS3实现动态背景登录框的代码
2015/07/28 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
微信小程序之几种常见的弹框提示信息实现详解
2019/07/11 Javascript
Python中模块string.py详解
2017/03/12 Python
Python学习入门之区块链详解
2017/07/25 Python
Python文件和流(实例讲解)
2017/09/12 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
python实现机器人卡牌
2019/10/06 Python
Python上下文管理器全实例详解
2019/11/12 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
python与js主要区别点总结
2020/09/13 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
药学专业大学生个人的自我评价
2013/11/04 职场文书
航空大学应届生求职信
2013/11/10 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
公证委托书格式
2014/09/13 职场文书
2014年十一国庆节活动方案
2014/09/16 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫