清除缓存时使用umask设置权限

时间:2013-12-17 10:48:56

标签: php linux symfony permissions clear-cache

我无法使用ACL,因此我尝试将umask(0000)添加到我的VPS中的app / console和web / app.php,但app / cache的权限再次转为0755和所有者当我清除缓存时将组分组到myFTPUser,因此我的网站会抛出错误,直到我再次将权限更改为0775并将所有者更改为www-data

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文档没有澄清这一点?

1 个答案:

答案 0 :(得分:0)

您必须从apache用户运行此命令。

如果这是一个开发环境,那么将用户设置为您自己的用户并不是一件坏事。但是在生产环境中,您很可能只需要切换到apache用户。