0

我在我的 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

任何帮助或线索?

提前致谢

4

2 回答 2

2

看起来您缺少 Doctrine > DBAL 节点内的 Connections 节点,以及默认连接的规范(在多个连接中,如果是这种情况)。正确模板的示例如下

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
于 2012-10-01T20:25:04.697 回答
1

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

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

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

于 2014-01-21T18:56:51.197 回答