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编程最快明白(第一讲 软件环境和准备工作)
Oct 25 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
PHP中array_slice函数用法实例详解
Nov 25 PHP
php实现随机生成易于记忆的密码
Jun 19 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
php遍历替换目录下文件指定内容的方法
Nov 10 PHP
thinkphp实现分页显示功能
Dec 03 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 PHP
Yii框架实现记录日志到自定义文件的方法
May 23 PHP
Laravel实现短信注册的示例代码
May 29 PHP
详解将数据从Laravel传送到vue的四种方式
Oct 16 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 22 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
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
如何直接访问php实例对象中的private属性详解
2017/10/12 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
javascript parseInt 大改造
2009/09/27 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
JS:window.onload的使用介绍
2013/11/13 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
2016/11/03 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
django中使用vue.js的要点总结
2019/07/07 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
Python中的生成器和yield详细介绍
2015/01/09 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
Python3+django2.0+apache2+ubuntu14部署网站上线的方法
2018/07/07 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
Numpy实现卷积神经网络(CNN)的示例
2020/10/09 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
python switch 实现多分支选择功能
2020/12/21 Python
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
2013年高中生自我评价
2013/10/23 职场文书
后勤部长岗位职责
2013/12/14 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
小学四年级作文之写景
2019/08/23 职场文书
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python