Debugging Symfony2-部署缓存无setfacl
我正在尝试部署我的第一个Symfony2应用程序 尝试访问时出现空白屏幕 检查日志:Debugging Symfony2-部署缓存无setfacl,debugging,caching,deployment,symfony,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 $ su
$ 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或类似的东西
我不能简单地浏览一下www数据缓存和日志吗?既然您不应该在部署服务器上开发,只需将整个应用程序交给
www数据
用户即可:
sudo chown -R www-data:www-data /path/to/the/root/of/your/app
要使用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 #
我最后就是这么做的。谢谢,但有些函数似乎需要在缓存和日志中写入,比如
php应用程序/控制台原则:schema:create
…您还可以在app_dev.php、app.php和控制台中取消注释/添加umask(0)。Symfony的开发人员不建议这样做,但是如果您没有访问facl的权限,并且无法正确运行权限,那么这就可以了。谢谢您的回答,但是可以更好地解释“当此分区为/”时是什么意思?您能举个例子说明在什么情况下参数“/”应该不同吗?(对于Ubuntu)帮助我理解了如何使用ACL