首先安装IIS 6.0,并确保IIS 6.0能正常运作。安装具体步骤方法网上有许多教程,在此不详述。
其次就是安装PHP,让IIS支持PHP。
有两种方法在 Windows 下安装 PHP:使用安装程序安装或者手工安装。
PHP 的 Windows 安装程序可以在 http://www.php.net/downloads.php 下载。它会为 IIS、PWS 和 Xitami 安装 CGI 版本 的 PHP ,并配置好 web 服务器。该安装程序不包含任何外部的 PHP 扩展(PHP_*.dll)。如果需要,可以在 Windows ZIP 包和 PECL 中找到。
运行安装程序,按照向导说明一步步安装。它支持两种安装类型:标准,将使用合理的默认配置进行安装;高级,会在配置中询问几个问题。
安装向导会收集足够的信息来设置 php.ini 文件,并配置好 web 浏览器以使用 PHP 。
一旦安装完成,安装程序会提示重新启动系统,重启服务器,或直接开始使用 PHP 。
注意:这种安装方式安装的 PHP 不是安全的。如果需要一个安全的 PHP 设置,最好使用手动方式安装,并手动设置好每个选项。该自动安装程序能够让用户立即使用 PHP ,但是这不意味着可以用于在线的服务器中。
安装前需要从 http://www.php.net/downloads.php 下载 PHP 的 ZIP 二进制发布包。
虽然目前有很多多合一的安装包,而且也发布了一个 Microsoft Windows 的 PHP 安装程序,但是仍然建议用户花些时间自己手动安装 PHP 。因为这样才可以更加了解这套系统,并能够在需要的时候更方便的安装 PHP 扩展。
下面我讲解手工安装步骤。
1、第一步,要确保 IIS 能正确找到 PHP 和相关的 DLL 扩展。
PHP 5.0 版以前官方建议将 php.ini 和多个 DLL 文件移动到系统文件夹(例如 C:\WINDOWS)。这一步骤虽然简化了安装过程,却导致升级上的困难。建议在使用新版本的 PHP 前删除所有这些文件(比如从 Windows 系统文件夹删除 php.ini 和 PHP 相关的 DLL 文件)。务必在删除前备份这些文件,因为这一操作可能破坏整个系统。原有的 php.ini 在安装新版本的 PHP 时也可用来参考。不久用户便会明白,安装 PHP 最好的方式便是将所有 PHP 有关的文件都放入同一目录,并在系统的 PATH 环境变量中设置此目录。
将下载下来的 PHP 5.2.x 的ZIP压缩包解压到目的目录,比如 C:\php ,我是解压到了 E:\usr\php 。可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃。
PHP 在 IIS 下的安装可以以 服务器模块 方式或 CGI 可执行程序 方式安装,还有个 CLI 版本是为使用 PHP 命令行脚本而设计的。服务器模块比 CGI 可执行程序提供了更好的性能和更多的功能。所以我主要介绍服务器模块安装方式。
CGI 和 CLI 可执行文件以及 web 服务器模块都需要 php5ts.dll(php4ts.dll,php4中使用),必须确认该文件可以在 PHP 安装路径中找到。对该 DLL 的搜索顺序为:
要让 php4ts.dll / php5ts.dll 能正确被搜索到,有下面三个选择:复制该文件到 Windows 系统目录;复制该文件到 web 服务器的目录(C:\windows);或者把 PHP 目录(例如 C:\php)添加到 PATH 环境变量中。为了将来更好的维护,建议使用最后一个选择,将 PHP 目录添加到 PATH 环境变量中,因为这样更便于将来升级 PHP。下面的讲解以第三个选择为例。
具体步骤:
①将 PHP 目录加入到 Windows 路径 PATH 中去
在 Windows NT,2000,XP 和 2003 下:
②使 php.ini 文件在 Windows 下被 PHP 所用
(这一步很重要,我实验了的,如果没有这一步,PHP 将搜寻不到 php.ini )
在 Windows NT,2000,XP 和 2003 种:
2、第二步是为 PHP 设置一个有效的配置文件,php.ini 。
在 ZIP 包中有两个 ini 文件,php.ini-dist 和 php.ini-recommended。官方手册中建议使用 php.ini-recommended ,因为在该文件中优化了性能和安全。请仔细阅读该文件中的注释,因为它从 php.ini-dist 修改而来,会对设置产生较大的影响。例如将 display_errors 设置为 off,将 magic_quotes_gpc 设置为 off。除了阅读这些部分,还可以学习一下 ini 设置,并手动设置每一个配置项目。如果想要最安全的设置,这是最好的方法,虽然 PHP 在默认配置下也是很安全的。对于 PHP 的初学者来说,我建议用 php.ini-dist ,因为在该文件中将 display_errors 设置为 on,这样你在调试 PHP 代码时,会有错误提示,方便调试 PHP 代码调试。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini。比如我把将 php.ini-dist 复制到 E:\usr\php ,并命名为 php.ini 。
3、IIS 专用用户(通常为 IUSR_MACHINENAME)需要能够读取各个文件和目录的权限。
例如 php.ini ,docroot 和 session 的 tmp 目录,特别是用NTFS文件格式的用户,要注意分配好权限。
4、确保在 php.ini 中正确设定了 extension_dir 和 doc_root 指令的值。
这些指令依赖于 PHP 被安装的系统。打开 php.ini 文件,搜索“extension_dir”,在 PHP 4 中,extension_dir 是 extensions 而在 PHP 5 中是 ext。因此在 PHP 5 中 extensions_dir 的一个取值例子是 “c:\php\ext”。比如我的php目录是E:\usr\php,所以我将这里的 extensions_dir 的值设置成 E:/usr/php/ext 。即:extensions_dir = E:/usr/php/ext 。
注意,php.ini 中的路径可以写成“E:/usr/php/ext “,也可以写成“E:\usr\php\ext ”,就是斜线(/)与反斜线(/)的区别。php.ini 中用斜线(/)或反斜线(/)都可以。Windows中是用斜线(\)表示路径分隔符,Unix和Linux中用反斜线(/)表示路径分隔符。所以从兼容性出发,推荐用反斜线(/)。如果路径中有空格,就要用英文双引号或单引号("或')括起来,但 Unix 和 Linux 中路径是不允许包含空格的,所以 Windows 下的路径最好也不要有空格。下面的同理。
然后在php.ini中搜索“doc_root”,这个是你的WEB根目录。IIS 的 doc_root 的取值例子是 “c:\Inetpub\wwwroot”;Apache的 doc_root 默认是安装目录的 htdocs 文件夹,比如我的是 E:\usr\Apache2.2\htdocs(我把Apache安装在 usr 目录下了)。所以我写的例子是:doc_root = E:/usr/Apache2.2/htdocs ,如果路径中有空格,要用英文引号括起来。
5、配置 IIS 6.0 ,让其支持 PHP 。
(1)对于 IIS 6.0(2003 Server),打开 IIS 管理器,进入 “web 服务扩展”,点击“添加一个新的 web 服务扩展”。“扩展名”中输入名称,例如 PHP。在“要求的文件”中点击“添加”按钮,点击“浏览”。如果以模块方式运行 PHP ,选择 ISAPI 文件(php4isapi.dll 或 php5isapi.dll);如果以CGI方式运行 PHP ,选择 CGI 文件(php.exe 或 php-cgi.exe)作为“文件路径”后点“确定”,然后选中“设置扩展状态为允许”并点“确定”。
(2)我以 ISAPI 模块方式运行 PHP ,按如下方法进行下一步配置:
①如果不想用 PHP 进行 HTTP 认证,应该跳过这一步。否则,在“站点属性”-“ISAPI 筛选器”标签页中添加一个新的 ISAPI 筛选器。“筛选器名称”设为 PHP,“可执行文件”设为 php4isapi.dll/php5isapi.dll 的路径。
②选择“主目录(Windows 2003)”,“虚拟目录(Windows 2000)”或“目录(PWS)”标签页,然后进行:
③完全停止 IIS(NET STOP iis admin)
④重新启动 IIS(NET START w3svc)
至此,整个 IIS 下配置 PHP 完成,你可以建一个包含 phpinfo() 函数的 php 文件,测试 PHP 在 IIS 下是否配置成功。测试文件内容如下:
<?php
echo phpinfo();
?>
注意查看其中的“Configuration File (php.ini) Path”项或者“Loaded Configuration File ”项是否指向你的 php 目录。查看 PHP Core 部分的“extension_dir”项是否指向你的 php 扩展目录。
印第安
2007年3月6日 星期二 16:57 第2次修改
2007年3月9日 星期五 16:58 第3次修改
2007年10月20日 星期六 0:32:17 第4次修改
2007年10月30日 星期二 6:10:59 第5次修改
2007年12月7日15:52:26 更新
2009年2月25日18:18:41 更新