我无法使用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文档没有澄清这一点?
答案 0 :(得分:0)
您必须从apache用户运行此命令。
如果这是一个开发环境,那么将用户设置为您自己的用户并不是一件坏事。但是在生产环境中,您很可能只需要切换到apache用户。