教你IIS6的PHP最佳配置方法


Posted in PHP onSeptember 05, 2006

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

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:\Windows\Temp 目录等。

OK,基本工作作完了,现在该配置 IIS 了。

打开“ Internet 信息服务(IIS)管理器”,在“ Web 服务扩展”里,选择“添加一个新的 Web 服务扩展”,扩展名可填写“PHP ISAPI 扩展”,要求的文件选择:C:\php\sapi\php4isapi.dll(如果安装的是 PHP5,则此处是 C:\php\sapi\php5isapi.dll,下同),并设置扩展状态为允许。

打开“网站”->“属性”->“ISAPI 筛选器”->“添加”,筛选器名称可填写“PHP”,可执行文件仍然选择 C:\php\sapi\php4isapi.dll。

打开“网站”->“属性”->“主目录”->“应用程序设置”->“配置”->“应用程序扩展”->“添加”,可执行文件还是选择 C:\php\sapi\php4isapi.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 相关文章推荐
关于Appserv无法打开localhost问题的解决方法
Oct 16 PHP
PHP JSON 数据解析代码
May 26 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
PHP与C#分别格式化文件大小的代码
May 14 PHP
5种PHP创建数组的实例代码分享
Jan 17 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
PHP实现过滤各种HTML标签
May 17 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
php根据命令行参数生成配置文件详解
Mar 15 PHP
php7 新增功能实例总结
May 25 PHP
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 #PHP
PHP环境搭建最新方法
Sep 05 #PHP
初学者入门:细述PHP4的核心Zend
Sep 05 #PHP
PHP在XP下IIS和Apache2服务器上的安装
Sep 05 #PHP
PHP5.0对象模型探索之抽象方法和抽象类
Sep 05 #PHP
PHP 5.0对象模型深度探索之绑定
Sep 05 #PHP
PHP中的串行化变量和序列化对象
Sep 05 #PHP
You might like
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
2014/11/19 PHP
PHP常见错误提示含义解释(实用!值得收藏)
2016/04/25 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
javascript 贪吃蛇实现代码
2008/11/22 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
Python yield 小结和实例
2014/04/25 Python
python抓取网页图片示例(python爬虫)
2014/04/27 Python
python实现用户管理系统
2018/01/10 Python
python实现简易通讯录修改版
2018/03/13 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
2018/07/19 Python
TensorFlow利用saver保存和提取参数的实例
2018/07/26 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python如何实现爬取B站视频
2020/05/20 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
三年大学自我鉴定
2014/01/16 职场文书
执行总经理岗位职责
2014/02/03 职场文书
艺术学院毕业生自我评价
2014/03/02 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
开天辟地观后感
2015/06/09 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
一文搞懂Java中的注解和反射
2022/06/21 Java/Android
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android