Symfony 2.0中缓存和日志文件夹中的权限问题

HVK*_*tak 7 symfony

我已经尝试了一些方法来授予cache&logs文件夹的权限但是当我清除缓存时,问题就像无法在目录中写入一样.

我试过这两种方式:

  1. 通过root具有777权限的用户完全访问缓存.
  2. www-dataSymfony2文档中所述更改所有者.

但它对我不起作用.

小智 7

如果你不想关闭SElinux,这是一个解决方案:

cd your/symfo/app
chcon -R -t public_content_rw_t app/cache
chcon -R -t public_content_rw_t app/logs
setsebool -P allow_httpd_anon_write 1
Run Code Online (Sandbox Code Playgroud)


bla*_*amb 6

解:

如果您关心安全性,如果站点面向全局,请不要禁用SELinux.在这种情况下,你会想要"使用"SELinux,而不是禁用它,这是有原因的.

我这样做;

# chcon -R -t httpd_sys_script_rw_t /var/www/symfonyapp/app/cache
# chcon -R -t httpd_sys_script_rw_t /var/www/symfonyapp/app/logs
# apachectl restart #(or systemctl restart httpd) or (service restart httpd) to restart your server, a reboot will suffice as well.
Run Code Online (Sandbox Code Playgroud)

是的,@ Viataley有一个好处,现在您需要检查以确保您的Web服务器用户httpd,apache或者wwwdata被添加到您的用户组,无论您的用户在哪个组中.这样当apache写入您的symfony目录时当您运行缓存清除时,用户已通过资产重新编译,例如,您的用户组的g部分ugo将允许apache用户对这些目录内容的权限.