PHP/IIS:无法打开流:权限被拒绝

12

我正在尝试做这件事:

$fh = fopen("req2" , 'w')

然后我得到了以下内容:

警告:fopen(D:\ inetpub \ wwwroot \ req2)[function.fopen]:在D:\ inetpub \ wwwroot \ test.php的第44行打开流时无法打开文件:权限被拒绝

我在wwwroot目录中为IIS授予“完全控制”权限。 我也尝试过绝对路径:$_SERVER['DOCUMENT_ROOT']."\\req2"

但我仍然遇到同样的错误。 我正在运行Windows 7上的IIS 7。


使用进程监视器来查看实际尝试访问文件的用户。 - Uwe Keim
请查看以下链接:http://forums.iis.net/t/1167645.aspx 还可以参考这个链接:http://www.addictivetips.com/windows-tips/windows-7-access-denied-permission-ownership/ - Milap
2
谢谢!问题解决了。是我没有写入权限 :P - hoshiKuzu
尝试对所有用户进行完全控制,如果成功,则逐个恢复访问控制,您会看到哪个用户导致了问题。 - muzaffar
4个回答

12

在Windows中,您需要授予用户IUSR权限。


1
您还需要确保该文件未被标记为“只读”。 - Observer

2
这对我很有用:
右键单击文件夹 -> 属性 -> 安全 -> 编辑 -> 允许完全控制 -> 应用 -> 对所有用户执行此操作,或仅适用于正确的用户。

1
此外,如果您在使用下载的代码时遇到此问题,请确保已将其“解锁”以便本地运行。文件加密也必须被禁用。

0
在Windows 10上分享wwwroot文件夹后,我今天遇到了这个问题。之前一直正常工作,不得不取消共享并重新应用iis_iusr访问权限。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接