2012-07-24 31 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