【问题标题】:Permissions Symfony2 on Mac: Either Apache _www or my user can access cache filesMac 上的权限 Symfony2:Apache _www 或我的用户都可以访问缓存文件
【发布时间】:2015-12-03 06:43:17
【问题描述】:

我在 Mac 上使用默认的 Apache Symfony 2。 在Permissions issues on Symfony2之后,我尝试了rm -rf app/cache/*chmod 777 app/cache

这行得通。但是……

a) 当 Symfony 2 首先写入任何缓存文件时,我的用户随后将无权访问这些文件。所以通过app/console cache:clear 清除缓存会导致...[RuntimeException]
Unable to write in the "/Workspace/MyProject/app/cache/dev" directory
我试图通过运行sudo app/console cache:clear 来弥补。但是后来...

b) 一旦我使用app/console cache:clearsudo app/console cache:clear 清除缓存然后重新加载页面,Apache 就无法访问这些文件: RuntimeException in ClassCollectionLoader.php line 239: Failed to write cache file "/Workspace/yProject/app/cache/dev/classes.php".

我尝试通过 Mac GUI 删除文件并设置 ACL 为我和 _www 授予读写权限。但是结果和上面一样。

当 apache 以 sudo 运行时,似乎只有所有者(使用 chown 测试)可以访问文件。 Apache 在使用端口 80 时必须以 sudo 运行,否则 apachectl start 会抛出 This operation requires root.。我发现使用端口 8080 和重定向 80 的方法很棘手。但我想了解基本问题。

为什么是 apache 或我有访问权限,但不能同时访问?

谢谢, 鲍里斯

【问题讨论】:

  • 解决方法:我当然可以通过sudo rm -rf app/cache/* 删除缓存目录中的文件夹,但我真的很想改用app/console cache:clear

标签: macos apache symfony


【解决方案1】:

我不知道问题出在哪里,但我发现了一个问题。我压缩了文件夹并解压缩了文件。我希望他们会失去所有权限,所以他们做到了。解压缩的文件现在可以正常工作了。如果有人知道原因,我仍然会感兴趣。

【讨论】:

    猜你喜欢
    • 2016-04-15
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 2014-12-20
    • 2014-12-19
    • 2014-03-05
    • 2018-05-22
    • 1970-01-01
    相关资源
    最近更新 更多