找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 628|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2647

主题

2647

帖子

7881

积分

论坛元老

Rank: 8Rank: 8

积分
7881
跳转到指定楼层
楼主
发表于 2018-2-14 05:46:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            今天准备将一个php demo放在IIS下运行,网站在IIS下的配置是这样的:
应用程序池是集成模式下的.net framework 2.0(2.0或4.0没什么关系,因为php以fastCGI的方式在跑), 应用程序池标识配置为IIS内置的NETWORKSERVICE, 使用的认证方式为匿名身份验证。
打开本地的网站,访问php页面, 出现了500错误。

好吧,是权限问题,最简单的解决办法是把C:\Users\Administrator\PhpstormProjects\phpDemo的权限设成Everyone, 并允许完全控制:

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

上面的方法是够简单,但也太不安全了,平时本地搭个demo这样做没问题,真正上线的时候,这样做迟早出问题的。
于是重新设置,把该目录下的只读权限赋给NETWRORKSERVICE帐号再试一下

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

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

那么解决办法就是:
1. 将IUSR设置为C:\Users\Administrator\PhpstormProjects\phpDemo的读权限,类似之前对NETWORKSERVICE的设置。
2. 或选择使用应用程序池标识即可。
经试验,方法1与2都成功。

Note:NETWORKSERVICE在IIS7中隶属于iis_iusers用户组,之前对NETWORKSERVICE的设置也可以改为对iis_iusers的设置,同样也可以解决问题,只是权限被进一步放宽了而已。
以上所述就是本文的全部内容了,希望大家能够喜欢。
            
            
您可能感兴趣的文章:
  • 在命令行下运行PHP脚本[带参数]的方法
  • php cli 方式 在crotab中运行解决
  • Windows下Apache+MySQL+PHP运行环境的安装图文方法
  • php运行出现Call to undefined function curl_init()的解决方法
  • PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
  • Window下PHP三种运行方式图文详解
  • Win2012 R2 IIS8.5+PHP(FastCGI)+MySQL运行环境搭建教程
  • php的4种常见运行方式
  • mod_php、FastCGI、PHP-FPM等PHP运行方式对比
  • php的4种常用运行方式详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端