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

发布时间:2021-06-30 16:05:06 作者:chen
来源:亿速云 阅读:112

本篇内容介绍了“php以fastCGI的方式运行时文件系统权限问题和解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

今天准备将一个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的设置,同样也可以解决问题,只是权限被进一步放宽了而已。

“php以fastCGI的方式运行时文件系统权限问题和解决方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. PHP的FastCGI
  2. 编译安装LAMP之配置httpd以FastCGI方式与php整合

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php fastcgi

上一篇:PHP怎么设置images目录不充许http访问

下一篇:微信小程序如何解决自定义弹窗滚动与页面滚动冲突的问题

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》