php以fastCGI的方式运行时文件系统权限问题及解决方法

2025-05-29 0 34

今天准备将一个php demo放在iis下运行,网站在iis下的配置是这样的:

应用程序池是集成模式下的.net framework 2.0(2.0或4.0没什么关系,因为php以fastcgi的方式在跑), 应用程序池标识配置为iis内置的networkservice, 使用的认证方式为匿名身份验证。

打开本地的网站,访问php页面, 出现了500错误。

php以fastCGI的方式运行时文件系统权限问题及解决方法

好吧,是权限问题,最简单的解决办法是把c:\\users\\administrator\\phpstormprojects\\phpdemo的权限设成everyone, 并允许完全控制:

php以fastCGI的方式运行时文件系统权限问题及解决方法

重新访问php页面,成功了:

php以fastCGI的方式运行时文件系统权限问题及解决方法

上面的方法是够简单,但也太不安全了,平时本地搭个demo这样做没问题,真正上线的时候,这样做迟早出问题的。

于是重新设置,把该目录下的只读权限赋给netwrorkservice帐号再试一下

php以fastCGI的方式运行时文件系统权限问题及解决方法

不过问题还是没有解决,访问的时候,出现了401错误

php以fastCGI的方式运行时文件系统权限问题及解决方法

错误信息中包括显示登录用户为匿名,检查了网站下的身份验证(再点击 匿名身份验证->编辑),原来网站默认情况下,在登录方法为匿名时,使用的默认登录用户为iusr(就是我们看到的匿名登录用户了)

php以fastCGI的方式运行时文件系统权限问题及解决方法

那么解决办法就是:

1. 将iusr设置为c:\\users\\administrator\\phpstormprojects\\phpdemo的读权限,类似之前对networkservice的设置。

2. 或选择使用应用程序池标识即可。

经试验,方法1与2都成功。

php以fastCGI的方式运行时文件系统权限问题及解决方法

note:networkservice在iis7中隶属于iis_iusers用户组,之前对networkservice的设置也可以改为对iis_iusers的设置,同样也可以解决问题,只是权限被进一步放宽了而已。

以上所述就是本文的全部内容了,希望大家能够喜欢。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php以fastCGI的方式运行时文件系统权限问题及解决方法 https://www.kuaiidc.com/102058.html

相关文章

发表评论
暂无评论