【问题标题】:PHP: confused about file permissions, cannot unlink setup file?PHP:对文件权限感到困惑,无法取消链接设置文件?
【发布时间】:2011-04-08 18:46:49
【问题描述】:

我创建了一个setup.php 来处理 MySQL 表的生成,作为一个明显的预防措施,我添加了一种在完成后删除它的方法。由于无法使用unlink(__FILE__),因此我在main.php?action=deleteconfig添加了删除代码以取消链接文件。

setup.php 有权限777,但是当我取消链接时它给了我一个权限被拒绝的错误。我的目录是drwxr-xr-x,我的main.php-rw-r--r--

我是否需要将 main.php 设置为 777 才能删除 setup.php ?我对这里的文件权限以及为什么它们不起作用感到困惑。

【问题讨论】:

    标签: php file permissions path chmod


    【解决方案1】:

    运行 php 的用户需要对该目录具有写权限才能修改其内容(即删除/创建)。所以你可以chown目录给php用户,或者把php用户添加到组中,然后chmod目录到组,使组有w权限。

    【讨论】:

    • 呃哦,我做了system('whoami');,它说“没人没人”,我需要把文件传给没人才能工作吗?还是nobody 没有人.. 是默认值?
    • nobody 可能有特殊含义,具体取决于您正在运行的内容。它是什么操作系统?
    • @john:对不起,我没有 0 exp。与拱。但我觉得奇怪的是他们以nobody 运行 Apache。通常在 linux 的风格上,我默认使用它的设置,例如 wwwwww-data
    • 我正在将软件发布给其他人使用(在线),所以也许我可以警告他们以确保它与 httpd 属于同一用户,这应该是一个问题,我会尝试并暂时挖掘我能找到的关于nobody 的信息。感谢您提供的见解!
    • 一般来说,托管帐户不会以nobody 的身份运行,而是会有一个特定的用户和组来运行以方便其他事情。
    【解决方案2】:

    我最近遇到了一个类似的问题,在上传的文件由任何人/任何人拥有的设置中。

    要使取消链接正常工作,请确保您使用的是要删除的文件的路径,而不是 url

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 2013-07-15
      • 2011-05-03
      • 1970-01-01
      相关资源
      最近更新 更多