Symfony命令缓存:清除使某些权限丢失

时间:2012-06-01 20:08:52

标签: symfony permissions directory

我在Mac Os X Lion(10.7.4)中使用Symfony 2.0.12。

出于某种原因,每次清除缓存(php app / console cache:clear)时,cache / *文件夹的权限都会丢失。

结果是我尝试输入我的应用程序,它开始给我一些错误,例如“无法在app / cache / dev / XXX文件夹中写入”。

因此开始与机器“斗争”。我刚给该文件夹的权限后,很快就收到下一个YYY文件夹的错误消息。这种情况发生在大约8或9个文件夹中,直到它成为我的赢家,一切显然都开始正常工作。

有没有人通过这个?清除缓存时如何设法保留权限?

2 个答案:

答案 0 :(得分:2)

在文档中有一些关于如何设置权限的替代命令。但我不知道如果他们为mac工作。检查设置权限框。

http://symfony.com/doc/current/book/installation.html

在我的ubuntu系统上,以下命令使权限永久化

sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
sudo setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs

在我看来,让网络服务器作为您的用户运行不是一个好主意,因为网络服务器不应该访问您的个人文件等等...

答案 1 :(得分:0)

如果您以不同于创建缓存文件的php进程的用户身份运行命令,则会发生这种情况。您要么必须以Web服务器用户身份运行命令,要么以用户身份运行Web服务器,要么在运行命令后chown / chmod app / cache app / logs目录。