如何使用环境变量设置一些参数而不是parameters.yml?

时间:2019-06-18 10:55:07

标签: symfony parameters environment-variables symfony-3.4

我正在尝试在symfony 3.4应用程序中将数据库名称和密码设置为环境变量

我已经将配置文件中的值更改为:

    dbname: '%env(DB_NAME)%'
    user: '%env(DB_USER)%'
    password: '%env(DB_PASSWORD)%'

这是我得到的错误,它似乎根本没有检查env()

  

您请求的参数“ env(DB_NAME)”不存在。

我在这里错过了什么吗?我也尝试了dotenv组件,但无法使用symfony 3.4进行安装。

1 个答案:

答案 0 :(得分:1)

在安装“ UnifikDatabaseConfigBundle”后,我发现导致错误的原因是它向AppKernel添加了一个功能:

protected function getContainerBuilder()
{
    return new ContainerBuilder(new ParameterBag($this->getKernelParameters()));
}

此函数导致此错误,谢谢大家的帮助