【问题标题】:PHP Permission Denied ErrorsPHP 权限被拒绝错误
【发布时间】:2012-02-11 14:39:46
【问题描述】:

我正在尝试解决此错误,但我没有运气。

Warning: mkdir() [function.mkdir]: Permission denied in Users/myuser/Sites/mysite.me/git/framework/libs/smarty/sysplugins/smarty_internal_write_file.php

我在一个特定文件夹中不断收到mkdir() [function.mkdir]: permission denied 错误。我已经确保通过 linux chmod 777 foldername 并且它仍然没有工作。我正在通过 XAMPP 在本地机器上执行此操作。我还确保从 GUI 的角度来看,每个人都可以读取和写入它。我仍然没有运气。想法?

我收到了mkdirchmodtouchrenameinclude 的警告。

【问题讨论】:

  • 请记住,您还需要在父目录中使用 +x — 你有吗?
  • 我正在使用 Mac OS X Lion。 smarty的父目录有drwxrwxrwx。如何添加 +x?
  • 检查您的父目录权限,特别是 htdocs
  • 从结构上看,它看起来像OSX。

标签: php linux apache xampp smarty


【解决方案1】:

对于从那里到这里的任何人:

https://stackoverflow.com/questions/12801733/php-upload-outside-web-root-permission-denied-to-mkdir 被标记为该线程的完全重复。该主题还被交叉发布到了 received an answer 的 AWS 论坛。


也就是说,这里接受的答案实际上是错误的。 (也许没有错,但仍然有些错误。)解决这个问题的更好方法是让 Apache 进程的所有者/组与您想要 Apache 的目录的所有者/组匹配(并且反过来,PHP)能够写入。

这样,您将访问权限授予特定的受管理用户,而不是过于广泛地开放您的文件系统权限。

【讨论】:

    【解决方案2】:

    为 mkdir 创建目录的所有用户(或至少 web 服务器用户,例如 www-data for apache)添加写权限。

    【讨论】:

    • 你指的是 chmod 777 文件的父目录吗?
    • 不,您拥有“mkdir”正在创建目录的目录的更改权限。
    猜你喜欢
    • 2018-07-19
    • 1970-01-01
    • 2016-09-25
    • 2015-09-16
    • 2016-11-14
    • 2016-12-28
    • 2016-10-18
    • 2013-05-25
    相关资源
    最近更新 更多