我在Mac Os X Lion(10.7.4)中使用Symfony 2.0.12。
出于某种原因,每次清除缓存(php app / console cache:clear)时,cache / *文件夹的权限都会丢失。
结果是我尝试输入我的应用程序,它开始给我一些错误,例如“无法在app / cache / dev / XXX文件夹中写入”。
因此开始与机器“斗争”。我刚给该文件夹的权限后,很快就收到下一个YYY文件夹的错误消息。这种情况发生在大约8或9个文件夹中,直到它成为我的赢家,一切显然都开始正常工作。
有没有人通过这个?清除缓存时如何设法保留权限?
答案 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目录。