SonataMediaBundle您已请求不存在的参数“doctrine.connections”错误

时间:2012-09-29 10:33:40

标签: symfony symfony-2.1 sonata-admin

我在Symfony 2.1.2项目上设置了SonataAdminBundle,它运行正常。现在我正在尝试设置一个SonataMediaBundle,但是我收到了这个错误:

==> php app/console sonata:easy-extends:generate SonataMediaBundle



  [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]  
  You have requested a non-existent parameter "doctrine.connections".         

我将配置参数复制到config.yml,以指示文档。你可以在那里看到它:http://pastebin.com/wys11net

任何帮助或线索?

提前致谢

2 个答案:

答案 0 :(得分:2)

看起来你错过了Doctrine中的Connections节点> DBAL的节点,以及默认连接的规范(在多个连接之间,如果是这种情况)。 模板的示例就像

doctrine:
    dbal:
        default_connection:   default
        connections:
            default:
                driver:   %database_driver%
                host:     %database_host%
                port:     %database_port%
                dbname:   %database_name%
                user:     %database_user%
                password: %database_password%
                charset:  UTF8

答案 1 :(得分:1)

我也遇到了这个问题,并且发现配置中实际上并不需要“连接”节点(参见http://symfony.com/doc/current/reference/configuration/doctrine.html#doctrine-dbal-configuration ...当你有多个连接时,你只需要连接节点)。

就我而言,我在Doctrine之前的AppKernel.php文件中有SonataCacheBundle。 Doctrine初始化时,Doctrine设置“doctrine.connections”参数,因此如果您在Doctrine初始化之前尝试在SonataCacheBundle中访问它,那么“doctrine.connections”就不在容器中了。

重新排序AppKernel.php中的条目为我解决了这个问题。