今天,我将在IIS下运行一个php演示。IIS下的网站配置如下:
应用程序池是。net framework 2.0在集成模式下(2.0或4.0无所谓,因为php是在fastCGI模式下运行的),应用池标识配置为IIS内置的NETWORKSERVICE,使用的身份验证方式为匿名身份验证。
打开本地网站,访问php页面,有500个错误。
好吧,这是权限的问题。最简单的解决方案是将C: 用户管理员 phpstormprojects phpdemo的权限设置为“所有人”,并允许完全控制:
再次访问php页面,成功了:
上面的方法很简单,但是太不安全了。平时在本地建个演示就可以了。真正上线的时候,迟早会出问题。
然后重置它,并将此目录中的只读权限分配给NETWRORKSERVICE帐户,然后重试。
然而,这个问题仍然没有解决。在访问期间,出现了401错误。
错误消息包括登录用户是匿名的,并且已经检查了网站下的身份验证(单击匿名身份验证-编辑)。默认情况下,当登录方式为匿名时,原网站使用的默认登录用户为IUSR(即我们看到的匿名登录用户)。
那么解决办法是:
1.将IUSR设置为c : users administrator phpstrom projects phpdemo的读取权限,类似于NETWORKSERVICE之前的设置。
2.或者选择使用应用程序池标识。
通过实验,方法1和方法2都是成功的。
注意:网络服务属于IIS7中的iis _ iusers用户组。以前的NETWORKSERVICE设置也可以改成IIS _ ius,也可以解决这个问题,但是权限进一步放宽。
以上就是本文的全部内容,希望大家喜欢。