爱程序网

Linux下部署Symfony2对app/cache和app/logs目录的权限设置

来源: 阅读:

  在linux下部署完Symfony2,可能在访问的时候会报app/logs或者app/cache目录没有写权限的错误。在linux下,如果我们在命令行登陆的用户和web应用服务器(apache、nginx等)的用户不一样的时候,

可以使用下面四个方法来解决这个问题。

  

  1、在支持chmod +a 的系统下使用ACL

  很多版本的linux系统都支持chmod +a命令,所以我们优先使用这个命令。找出web应用服务器的用户名赋值到变量HTTPDUSER上。

1 $ rm -rf app/cache/*2 $ rm -rf app/logs/*3 4 $ HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d  -f1`5 $ sudo chmod +a "$HTTPDUSER allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs6 $ sudo chmod +a "`whoami` allow delete,write,append,file_inherit,directory_inherit" app/cache app/logs