2013-12-17 31 views
0

我無法使用ACL,因此我嘗試將umask(0000)添加到我的VPS中的應用程序/控制檯和web/app.php,但是應用程序/緩存再次轉向0755和所有者組myFTPUser當我清除緩存,所以直到我再次更改權限,以0775和組所有者www-data我的網站拋出一個錯誤:清除緩存時使用umask設置權限

php app/console cache:clear --env=prod --no-debug 
chown -R myFTPUser:www-data app/cache/ 
find app/cache/ -type d | xargs chmod -R 0775 
find app/cache/* -type f | xargs chmod -R 0664 

唯一的辦法我已經找到了在清除緩存之前將用戶更改爲Apache用戶,而不更改umask

su www-data 
php app/console cache:clear --env=prod --no-debug 

現在它的工作原理沒有做任何事情。但是,這是正確的路嗎?而且,爲什麼Symfony2文檔沒有闡明這一點?

回答

0

您將不得不從apache用戶運行此命令。

如果這是一個開發環境,那麼將用戶設置爲您自己的用戶並不是一件壞事。但是,在生產環境中,您可能不得不切換到apache用戶。

+0

*在生產環境中,您很可能只需切換到apache用戶。*從Apache用戶運行此命令並將所有者設置爲Apache用戶有什麼區別?我猜這沒有什麼區別。 – Manolo

+0

這不是一個區別,這些都是這樣做的要求。您希望擁有由Apache用戶擁有的目錄,以便您的應用程序正常運行,並且您希望從Apache用戶運行命令,因爲它們只能以這種方式工作。至少我是這樣處理這個問題的。 – Seer