我开始学习symfony2,并与供应商一起下载了symfony。但我没有在生产环境中运行symfony,他返回以下错误:
request.CRITICAL:Twig_Error_Runtime:第9行的“AcmeDemoBundle:Demo:hello.html.twig”中未启用“demo”扩展名
我尝试过像这样设置config.yml:
services:
twig.extension.acme.demo:
class: Acme\DemoBundle\Twig\Extension\DemoExtension
tags:
- {Name: twig.extension}
arguments:
- @ Twig.loader
我试图在autoload.php中添加捆绑Acme,但仍然无法正常工作......仍然会出现同样的错误。
使其工作的唯一方法是在此行上将debug设置为true:
$kernel = new AppKernel ('prod', false);
但我不想在生产环境中这样做,因为它不会很好。
有人可以帮我吗?
Ps。:抱歉我的英文
修改
在视图中有这样的代码:{%set code = code(_self)%}
如果我将零件代码(_self)改为其他东西,它可以完美地工作......
但是,为什么不运行该代码呢?
答案 0 :(得分:1)
您可能遇到此问题,因为您正在访问仅在开发环境中加载AcmeDemoBundle
的产品版本。
确保您访问app_dev.php
(开发环境),而不是使用.htaccess
或app.php
(生产环境)方法。
注意:我假设你正在玩的代码不是生产代码。如果是,您应该在自己的包中创建在所有环境中加载的枝条扩展。
答案 1 :(得分:0)
注意语法:
services:
twig.extension.acme.demo:
class: Acme\DemoBundle\Twig\Extension\DemoExtension
arguments:
- @twig.loader
tags:
- { name: twig.extension }