Symfony2 - 部署缓存没有setfacl

时间:2012-07-23 10:11:36

标签: debugging caching deployment symfony

我正在尝试部署我的第一个Symfony2应用程序。

尝试访问时出现空白屏幕。

检查日志:

$ sudo tail -f /var/log/apache2/error.log
  

[...]未捕获的异常'RuntimeException',消息'写入缓存文件失败[...]

尝试将好的权利放在缓存上日志

$ sudo chmod +a "www-data allow delete,write,[...]" app/cache app/logs
  

chmod:无效模式:`+ a'

尝试使用setfacl

$ sudo setfacl -R -m u:www-data:rwx -m u:`whoami`:rwx app/cache app/logs
  

setfacl:app / cache:不支持操作
  setfacl:app / logs:不支持操作

我想我的分区没有安装acl或类似的东西。

我不能简单地chown www-data cache&记录?

2 个答案:

答案 0 :(得分:10)

要使用 setfacl ,首先需要安装acl实用程序:

# Provided Apt can be used for package management
$ sudo apt-get install acl

然后重新安装包含symfony2项目的磁盘分区:

# Remount the partition containing your Symfony2 application
# e.g. we could remount the root (/) partition   
$ sudo mount -o remount,acl / # 

# we could also remount the /var partition in our app lives in /var/www  
$ sudo mount -o remount,acl /var  # 

http://symfony.com/doc/2.0/book/installation.html#configuration-and-setup https://help.ubuntu.com/community/FilePermissionsACLs

答案 1 :(得分:6)

由于您不应该在部署服务器上进行开发,只需将整个应用程序提供给www-data用户:

sudo chown -R www-data:www-data /path/to/the/root/of/your/app