
在IIS基础上建立PHP环境总会出现这样或那样的问题
一、故障现象:
笔者搭建环境采用的操作系统是windows XP,IIS是系统自带的IIS 5,PHP版本是5.2。按照网上的步骤笔者安装PHP程序并配置了IIS中的相应映射参数建立了PHP环境,并且生成了名为index.php的文件作为测试用。在实际使用中却发现在服务器上通过浏览器访问http://127.0.0.1/index.php和http://localhost/index.php均出现错误提示,具体页面显示为“无权查看网页,基于所提供的凭据,您没有权限查看此目录或网页,HTTP错误 401.3——访问被资源ACL拒绝”。(如图1)
![]() |
| 图1 |
为了进一步排查故障笔者又在IIS中通过在默认网站上点“浏览”来查看,结果收到的反馈消息和上面的一样,也是“HTTP错误 401.3——访问被资源ACL拒绝”。(如图2)
![]() |
| 图2 |
然而在同一个站点的其他页面文件,只要不是PHP语言建立的都可以正常浏览和查看,包括HTML静态页面和ASP动态网页文件。
二、修改验证方式解决问题:
既然IIS反馈回的信息是“HTTP错误 401.3——访问被资源ACL拒绝”,所以笔者也针对访问权限进行排查故障工作。
第一步:在IIS中的默认网站上右键选择“属性”来查看该站点的相关属性信息。(如图3)
![]() |
| 图3 |
第二步:在打开的默认网站属性处我们找到“目录安全性”标签,然后点“匿名访问和身份验证控制”旁边的“编辑”按钮。(如图4)
![]() |
| 图4 |
![]() |
| 图5 |
第四步:为了方便排查故障,特别是为了避免权限访问造成的问题,笔者在“身份验证方法”处点了“集成Windows身份验证”,这个选项的意思就是在本机或者网络有用户访问该站点里的页面文件时,将提示要求输入正确的Windows系统登录口令,通过Windows登录身份来验证是否容许浏览页面。(如图6)
![]() |
| 图6 |
第五步:“确定”完毕后提示要求将下属目录和页面文件也按照这种规则生效,继承覆盖设置。我们同意即可。(如图7)
![]() |
| 图7 |
第六步:修改完验证采用“集成Windows身份验证”后在IIS中浏览默认网站就没有任何问题了,可以顺利的显示出index.php文件中的PHP页面内容。(如图8)
![]() |
| 图8 |
![]() |
| 图9 |
第八步:如果身份验证通过了Windows系统的检查,那么正确的页面信息也将显示出来。(如图10)
![]() |
| 图10 |
至此我们就解决了IIS中PHP页面访问所出现的“HTTP错误 401.3——访问被资源ACL拒绝”故障。不过这种设置在访问上带来了一定的不方便,必须知道Windows系统的帐户和密码才可以浏览,要知道一般网站都是给外部用户使用的,他们并不会知道服务器的密码与管理帐户,就算知道了也会给服务器的安全带来巨大的隐患。所以我们还需要从权限入手,解决问题。
三、修改匿名访问帐号解决实际问题:
既然通过修改访问方式为“集成Windows身份验证”能够解决实际问题,这就说明问题的根源不在PHP上,而在于权限的设置。
我们再次尝试在IIS中的默认网站上右键选择“属性”来查看该站点的相关属性信息。找到“目录安全性”标签,然后点“匿名访问和身份验证控制”旁边的“编辑”按钮。将“身份验证方法”处看到的IUSER_CHINA-914340F04帐户通过“浏览”按钮选择管理员administrator帐户,密码也设置相应的密码。(如图11)
![]() |
| 图11 |
再次浏览PHP文件你会发现一切顺利,PHP文件的内容可以被正常显示。(如图12)通过浏览器访问页面也没有任何问题,PHP内容显示无误。(如图13)
![]() |
| 图12 |
![]() |
| 图13 |
可见将默认的IUSER_CHINA-914340F04帐户修改为administrator管理员权限的帐户后访问就没有任何问题了,同时也不会出现上面修改验证方式时出现的帐户密码确认对话框,外部用户访问顺顺利利。不过这种方法非常不安全,毕竟administrator的权力太大,权限太高,可以轻松实现对页面的修改和删除操作。
四、修改文件夹权限解决问题:
上面两种修改办法都可以解决问题,这更加说明了问题出在权限而不是PHP的安装上。从网上找到的资料就是需要容许IUSER_CHINA-914340F04这个IIS临时调用帐号具备对IIS发布目录的访问权限,如果是PHP页面还需要具备执行权限。
第一步:由于笔者没有修改默认的IIS发布目录路径,所以我们进入到c:\inetpub目录,找到WWWROOT目录,在其上点鼠标右键选择“共享和安全”。(如图14)
![]() |
| 图14 |
第二步:将对应的IUSER_CHINA-914340F04帐户添加到对文件夹访问的属性窗口,并给予读取和运行,列出文件夹目录以及读取权限。(如图15)
![]() |
| 图15 |
第三步:另外为了保险还应该将IUSER_CHINA-914340F04帐户添加到对PHP文件夹访问的属性窗口中,给予并给予读取和运行,列出文件夹目录以及读取权限。(如图16)

















