Mac上的权限Symfony2:Apache _www或我的用户都可以访问缓存文件

时间:2015-12-03 06:43:18

标签: macos apache symfony

我在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".

我尝试删除文件并设置ACL,通过Mac GUI为我和_www授予读写权限。但结果与上述相同。

看起来只有所有者(使用chown测试过)才能在apache作为sudo运行时访问这些文件。 Apache在使用端口80时必须以sudo身份运行,否则apachectl start会抛出This operation requires root.。我发现使用端口8080和重定向80的方法很棘手。但我想了解基本问题。

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

谢谢, 鲍里斯

1 个答案:

答案 0 :(得分:0)

我不知道,问题是什么,但我发现了一个蠢货。我zpped文件夹并解压缩文件。我希望他们会失去所有权限,所以他们就这样做了。解压缩的文件现在运行正常。如果有人知道原因,我仍然会感兴趣。