手机版

php在fastCGI模式下运行时的文件系统权限问题及解决方案

时间:2021-11-06 来源:互联网 编辑:宝哥软件园 浏览:

今天,我将在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,也可以解决这个问题,但是权限进一步放宽。

以上就是本文的全部内容,希望大家喜欢。

版权声明:php在fastCGI模式下运行时的文件系统权限问题及解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。