这篇文章可以说是重多的 IIS下配置php最实用最精简的一篇技术文章了,对于那些使用一键安装php+mysql+iis的同志可以忽略本文,并且对于网上最经典的“Windows配置Apache+MySQL+Php+phpMyAdmin"等文章,我经过比较后发现除了文章很长外,其技术手段也比不上此文中介绍的方法。好了,步入正题。
  以PHP6为标准 因为PHP5 PHP4 有文件夹的差异,为了标准化的学习,本着我为人人,人人为我的精神,特此把自己的实践经验SHOW一下。 (原文使用的是PHP6,我实践主要是PHP4,后面我的修改都是PHP4.4.7的环境)


==================================================================================
1.下载php6-win32压缩包,解压之后重新命名为php放至D:\ 。
2.进去D:\php,找到php.ini-dist 和 php.ini-recommended 这两个都是PHP的配置文件,php.ini-dist是默认的 php.ini 设置,php.ini-recommended是推荐 php.ini 设置,后者在PHP手册中有讲,是优化了性能和安全的。这里我们相信群众,把php.ini-recommended重新命名为php.ini。
3. 打开PHP.ini我们搜索extension,找到extension_dir = "./" ,把它修改为extension_dir = "d:\php\ext" ,这个是PHP要掉用的一些DLL,这里我们设置的路径(其中php4环境下则是d:\php\extensions\)。
4.为了以后升级方便,我们这里不按照传统的复制一些DLL和php.ini到系统文件夹下。我们换种方式,添加一个系统环境变量path,这样所有php相关的文件都在同一个目录下面,方便管理,以及日后升级 “我的电脑”–右键–属性—高级—环境变量,在其中的path中添加php的路径即可,环境变量添加要在服务器重启动后生效。
5.设置php.ini,主要是doc_root,修改为你的web存放的路径如d:\wwwroot,在X盘新建一个文件夹tmp,把session.save_path设置为X:\tmp,主要用于保存session会话临时文件,开启extension(这个可以参考其它经典文章,这里不详细介绍)
6.注意权限,IIS 专用用户(通常为 IUSR_MACHINENAME)需要能够读取各个文件和目录的权限,例如 php.ini,doc_root 和 session 的 tmp 目录,其中tmp目录要可写。
注: PHP 4 的 CGI 文件名是 php.exe 而在 PHP 6 中是 php-cgi.exe。在 PHP 6 中,php.exe 是 CLI 版本,不是 CGI。
7.IIS 设置
ISAPI 模块方式
网站属性->主目录,执行权限设置为"纯脚本",配置->映射
添加D:\php\php6isapi.dll,扩展名为.php 。然后添加index.php默认文档。
CGI 方式
点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 CGI 文件名。例如 PHP 6 的值可能是:d:\php\php-cgi.exe。在“扩展名”中填入 .php。然后添加index.php默认文档。
设定合适的目录安全性,如果 NT 服务器使用 NTFS 文件系统,给 I_USR_ 用户加上 php.exe/php-cgi.exe 文件所在目录的可执行权限。
对于 IIS 6(2003 Server),打开 IIS 管理器,进入 web 服务扩展,点击“添加一个新的 web 服务扩展”,“扩展名”中输入名称,例如 PHP,再点击“添加”按钮,点击“浏览”选择要么 ISAPI 文件(php6isapi.dll)或者 CGI 文件(php.exe 或 php-cgi.exe)作为“文件路径”后点“确定”,然后选中“设置扩展状态为允许”并点“确定(有的地方是设置允许”“所有未知的ISAPI扩展,其实道理一样)
如果碰到 CPU 占用率达到 100%,则取消选中“缓存 ISAPI 应用程序”(“主目录”下点“配置”按钮”)。
重新启动IIS,至此,PHP的安装已经完成,接下来是一些安全问题。
=====================================================================================
   由于网站上的教程都适用于xp系统下的,所以一步一步的安装是很容易的,但是在server 2003系统下,操作系统的不同,server2003是服务器模块,所以出现了很多问题,下面是我在安装Apache成功运行后替换成IIS下的时候所遇见的问题。
这时候最好写张phpinfo()的页面做为测试,察看一下当前配置情况。
8.访问需要输入用户名
一般提示输入用户名,密码这些,可能是权限,PHP目录添加IIS_WPG 这个组.默认权限就行了。