【问题标题】:IIS AppPool user permissions not workingIIS AppPool 用户权限不起作用
【发布时间】:2017-01-24 10:21:36
【问题描述】:

我在 Win2012 R2 上将 PHP 应用程序从 IIS7 移动到 IIS8.5。该应用程序在其自己的应用程序池 (MyPortal) 中运行,并且需要子文件夹的写入权限才能创建 PDF。因此,我为本地计算机上的 IIS AppPool\MyPortal 分配了修改或完全控制权限,但是该应用程序仍然无法写入该文件夹。我发现允许它这样做的唯一方法是授予本地用户组的修改访问权限,我宁愿不这样做(尽管我别无选择 ATM)。

php-cgi.exe 进程在 MyPortal 身份下运行,但不知何故没有获得我在文件夹上分配给 MyPortal 用户的权限。 PHP进程正在执行一个简单的fopen命令$file = fopen($tmp_filename,"w");

我看到了类似的帖子https://serverfault.com/questions/570033/iis-iusrs-and-defaultapppool-permissions-do-not-work,这表明它可能是权限缓存问题,通过重启解决了,但在这种情况下不起作用。

有什么建议吗?

【问题讨论】:

  • 您的 IIS 网站匿名身份验证是如何设置的?以及您的应用程序池身份验证?最好是使用 Sysinternals 的 Process Monitor 和/或 Process Explorer 进行调试:technet.microsoft.com/en-us/sysinternals/bb545021.aspx,查找文件 I/O 操作和访问被拒绝错误。

标签: windows-server-2012-r2 iis-8.5 php-5.6


【解决方案1】:

@Jan Reinlink 你知道了。匿名身份验证需要设置为“应用程序身份池”。我假设因为 PHP 进程作为 MyPortal 运行,所以它使用相同的权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    相关资源
    最近更新 更多