我在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" directorysudo app/console cache:clear
进行补偿。但是......然后......
b)中
只要我使用app/console cache:clear
或sudo 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或者我有权访问但不能同时访问?
谢谢, 鲍里斯
答案 0 :(得分:0)
我不知道,问题是什么,但我发现了一个蠢货。我zpped文件夹并解压缩文件。我希望他们会失去所有权限,所以他们就这样做了。解压缩的文件现在运行正常。如果有人知道原因,我仍然会感兴趣。