2015-06-08 46 views
0

我有一个Windows Server 2008 R2并使用Windows身份验证为我的网站。move_uploaded_file缺少权限?

我的网站的一个功能是上传文件到一个文件夹,使用php的C:\inetpub\wwwroot\Website\upload

问题是我一直得到相同的错误"failed to open stream: Permission denied"

我谷歌搜索了几个小时,尝试了解决方案,但没有任何工作。

任何人都可以帮助我吗?

回答

0

为此,您需要授予对指定目录的“IUSR”访问权限。这是运行IIS服务的本地用户。

要授予访问特定的文件夹中:

1)通过点击右和选择属性打开文件夹属性。 2)转到权限选项卡。点击“编辑” 3)接下来点击添加,确保您选择本地计算机的位置并键入“IUSR” 4)单击“确定”,现在为该用户分配“修改”权限。

就是这样。希望这可以帮助。如果这不起作用,请使用Microsoft process monitor将拒绝登录到文件系统。这应该可以帮助您确定哪个用户尝试写入文件系统。

+0

我使用Windows身份验证,服务器在我进行身份验证(Pass-through-Authentication)时获取我的Windows用户。如果我使用匿名身份验证,那么我需要IUSR但不在这里:) – mcg

+0

好了解。你可以运行进程监视器来检查用户试图写入的内容吗?然后以与上述相同的方式为该用户或组提供权限。 –

+0

进程Monitor向我展示了应用程序使用apppool用户。我想知道为什么???。我需要登录的Windows用户...并不是每个人都应该能够上传东西或显示上传的东西...现在我必须授予'IIS APPPOOL \ '所有权利,但这是没有办法的,因为安全的原因。 – mcg

相关问题