【问题标题】:how to disable database configuration in symfony2如何在 symfony2 中禁用数据库配置
【发布时间】:2015-07-22 15:28:53
【问题描述】:

我正在开发的新应用程序正在使用 Symfony2。没有要使用的数据库连接。相反,它建立在许多 Web 服务调用之上。在 Symfony/app/config 下,我想删除所有 database_* 条目,但是当我这样做时,我得到了一个

ParameterNotFoundException: You have requested a non-existent parameter "database_driver"

错误很明显。但是如何从应用程序本身解耦和删除数据库配置?

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    从您的 AppKernel 和 doctrine 配置中删除 DoctrineBundle 初始化从您的 app/config/config*.yml 文件。它在容器中注册学说配置。这就是为什么如果您尝试删除参数时容器会报错(bundle 已启用并查找这些参数)。

    在最新版本的 Symfony 中,您还需要从 config_dev.yml 的独白配置中删除教义频道(删除 channels: ["doctrine"] 行)。

    【讨论】:

    • 我还必须在 config_dev.yml 的独白配置中注释/删除行“channels: ["doctrine"]"
    • 谢谢!更新了答案。
    【解决方案2】:

    Symfony2 默认与 Doctrine2 集成。除非您设置另一个集成包,否则您无法删除配置。

    如果您只是将这些字段留空,将毫不费力。仅当应用程序需要时才会建立与数据库的连接,在您的情况下,这不应该发生。

    【讨论】:

    • 这不是真的。您不必使用 Doctrine,也可以禁用它。
    • 这是为什么呢?禁用 Doctrine 并没有什么坏处。如果你使用注解,你需要保持学说通用,但这与 dbal/orm 不同。
    • 只是一个澄清。这些天来,您需要启用教义/注释而不是教义/通用来添加对注释的支持。
    • 默认情况下,第一次尝试连接数据库。如果您从 AppKernel 禁用教义并删除教义配置声明,它将引发独白错误,因为它与教义绑定。除非您更改扩展和独白包,否则您无法禁用。
    • 这根本不是真的。可以安全地禁用教义。您所要做的就是在这样做之后清除缓存。
    猜你喜欢
    • 2014-09-02
    • 2011-10-19
    • 2014-07-10
    • 1970-01-01
    • 2015-05-01
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多