【问题标题】:php writes files that I can't access - windows IISphp写入我无法访问的文件-windows IIS
【发布时间】:2016-05-24 03:02:06
【问题描述】:

我有一个 php 页面,可以将文件写入我的本地 PC 上的一个名为 UploadedImages 的特定文件夹中。这一切都很好。问题是当我去查看文件(总是一个图像文件——在这种情况下是一个 .png)并双击它时,windows 说我没有查看它的权限。同样,UploadedImages 文件夹的文件权限是全开(所有人 -> 读/写),我的登录帐户具有 完全控制,我的登录帐户是文件夹。

如果我右键单击该文件并进入权限,则表明我对该文件没有权限。我可以进去并授予自己所有权和权限,然后查看它——但我每次都必须这样做是没有意义的。

我怎样才能永久解决这个问题,以便我的 php 脚本写入该文件夹的每个文件我都可以自动/完全访问它?

我正在运行 Windows 10、IIS 10.0 和 PHP 5.6.11。看来IUSR帐户正在获得权限,但为什么我(文件夹上的管理员)会因为php在那里写入文件而撤销我的所有权限?谢谢。

【问题讨论】:

    标签: php windows iis windows-10


    【解决方案1】:

    其中一种解决方案是尝试在您拥有完全访问权限的特定用户(不是管理员)下运行 Web 服务器。 第二种可能的解决方案:也许您的虚拟主机配置包含强制服务器在您无权访问的管理员或用户下工作的指令 - 尝试更改它。

    【讨论】:

    • 我在 IIS 中找不到执行此操作的位置。详细步骤?
    【解决方案2】:

    @SweatCoder:你说:

    再次,UploadedImages 文件夹的文件权限是完全开放的(所有人 -> 读/写),我的登录帐户具有完全控制权,我的登录帐户是该文件夹的所有者。 [...] 如果我右键单击该文件并进入权限,则表明我对该文件没有权限。我可以进去并授予自己所有权和权限,然后查看它

    这就是所谓的“继承”。您需要对文件夹设置继承,因此文件的权限是从父目录继承的。

    //编辑:查看cmd.exe中的icacls帮助信息: icacls /?

    【讨论】:

    • 这只能通过命令行 (icacls) 完成吗?不通过用户界面?当我在那里(UI)时,我有点想过继承,但找不到如何实现它。
    • 我进去看了下,已经开启了继承。每次写入新文件时,权限都会再次被破坏。奇怪的是我的电脑上有其他本地 php 应用程序可以写入文件,但没有一个有这个问题。
    猜你喜欢
    • 2013-08-25
    • 2017-04-27
    • 2019-10-29
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2012-07-11
    • 2019-03-30
    相关资源
    最近更新 更多