IIS6配置PHP最安全可靠的方法

   虽然 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 目录中复制任何文件。

时间: 2022-12-25

IIS6配置PHP最安全可靠的方法的相关文章

Mrtg配置CISCO配置和MRTG安装具体安装方法

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   本文主要介绍Mrtg配置CISCO配置和MRTG安装,并以列表形式进行了展现,下面大家和我一起学习具体的命令和步骤.Multi Router Traffic Grapher------MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,并将流量负载以包含PNG格式的图形的HTML 文档方式显示给用户,以非常直观的形式显示流量负载.

PHP IDE PHPStorm配置支持友好Laravel代码提示方法

  这篇文章主要介绍了PHP IDE PHPStorm配置支持友好Laravel代码提示方法,重点配置已经加红提示,需要的朋友可以参考下 PHPStorm神器可以支持更友好的laravel框架代码提示(点击查看),只需要执行如下才做: 第一步:在项目的composer.json中添加如下一行 代码如下: "require": { "laravel/framework": "5.0.*", "barryvdh/laravel-ide-he

在Windows 7中IIS配置Asp.Net虚拟目录的方法及常见错误

在Win7中IIS配置Asp.Net虚拟目录的方法总结! 一.右键[网站],点击[添加虚拟目录]或[虚拟应用程序],笔者建议最好建立虚拟应用程序,因为这就跟一个网站差不多,不用考虑路径问题. 二.直接输入相应内容选择路径就行了,如果要指定[应用程序池],需要先建立一个新的[应用程序池],配置与网站差不多了. 三.运行后,如果出现以下错误:HTTP 错误 500.19 一般是web.config配置问题,很简单,找到以下内容 <system.webServer>        <defau

OPENCV1.0配置VS2010有没有一劳永逸的方法呢?

问题描述 OPENCV1.0配置VS2010有没有一劳永逸的方法呢? OPENCV1.0配置VS2010有没有一劳永逸的方法呢?,每次新建个项目都要重新配置好麻烦,求一种一次配置长久使用的方法 解决方案 创建VS的工程property sheet配置文件,然后配置好opencv,以后的工程都从这个模板继承

404错误-win2003 iis6 配置完后 放上去的.net程序运行报错The resource cannot be found.

问题描述 win2003 iis6 配置完后 放上去的.net程序运行报错The resource cannot be found. 安装了framework4.0 iis服务扩展都 允许了 确认程序没问题,数据库连接代码没问题,页面都存在(程序在另一个空间 好着直接 复制过来的) 求教还会有什么问题,网上搜了一大堆 都试过了还是报找不到文件,我直接在iis点击index.aspx预览的 :整一天了 求帮助 Server Error in '/' Application. The resourc

Yii配置与使用memcached缓存的方法_php技巧

本文实例讲述了Yii配置与使用memcached缓存的方法.分享给大家供大家参考,具体如下: 1. 下载memcached软件包,解压,把memcached.exe 放到随意一个地方,比如:d:/memcached/ 下. 2. 开始->运行->输入cmd,命令行打开memcached.exe,所在文件夹,输入:memcached.exe -d install  安装 3. 输入memcached.exe -d start 启动 4. 中加入 extension=php_memcache.dl

centOS7 下利用iptables配置IP地址白名单的方法_Linux

编辑iptables配置文件,将文件内容更改为如下,则具备了ip地址白名单功能 #vim /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -N whitelist -A whitelist -s 1.2.3.0/24 -j ACCEPT -A whitelist -s 4.5.6.7 -j ACCEPT -A INPUT -m state --state

Linux下安装Python3和django并配置mysql作为django默认服务器方法_Linux

我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包. yum install mysql mysql-devel #为了测试方便,我们需要安装sqlite-devel包 yum install sqlite-devel 2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3

World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法_应用技巧

World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法总结了以下几个办法1:在Internet信息服务下有本地计算机(计算机机名),单击名键,选择断开,提示确实要断开本地计算机(计算机机名)吗?选择确定.  右键单击Internet,选择连接,计算机名填本机名称,用户名填本机管理员帐号(Administrator),确定.  World Wide Web Publishing 服务尝试删除 IIS 所有的 SSL 配置数据失败的几种方法2