2012-07-24 32 views
0

我已经看过几篇关于生产缓存管理的文章,但我试图找到正确的方法。Symfony2 - 生产中缓存管理的正确方法

我已经看到了一些非常sudo chmod 777 app/cache app/log甚至sudo chmod 777 ../my_project_root :)

我不想使用chmod技术。我认为最好是chown www-data缓存和日志文件夹。现在

的问题是:
当我需要清除缓存在我的生产服务器它告知使用:

$ sudo php app/console cache:clear --env=prod 

但似乎CHOWN督促缓存文件夹回根。

我应该如何正确清除生产服务器的缓存?

回答

4
sudo -u www-data php app/console cache:clear --env=prod 
+0

我第一次看到。这看起来简单而直接。谢谢。我会在10分钟内接受:) – 2012-07-24 11:15:40

+2

可能是因为你认为'su'的意思是“超级用户”? ;)一个常见的错误。 'su'的意思是“替代用户”,用'-u'给你用户的用户名称,以替代你自己。 'sudo'就像'su',但是只有一个命令。 – KingCrunch 2012-07-24 11:29:16

3

如果你看一看的Symfony文件以外,还有可以启动管理缓存和日志目录几条命令:

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 

在我看来,这是最干净的方法。

注:如果您选择此方法,不要忘了激活您的分区的ACL

+0

这允许我做'php app/console cache:clear --env = prod'摆脱sudo不是吗? – 2012-07-25 10:14:04

+0

是的,这种方式,你不需要sudo – 2012-07-25 10:30:06

+0

好的,谢谢你,这是我的。我本人无法使用ACL,因为我无权更改fstab。但这似乎确实是最好的方法。 – 2012-07-25 12:08:24