8

我正在尝试部署我的第一个 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 & logs 吗?

4

2 回答 2

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

于 2013-03-20T18:16:07.333 回答
6

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

sudo chown -R www-data:www-data /path/to/the/root/of/your/app
于 2012-07-23T10:16:38.670 回答