Symfony 3.4用parameters.yml中的变量覆盖env变量

时间:2018-12-05 16:38:17

标签: php symfony

我有以下设置似乎可以工作一段时间:根据配置,环境变量(如TEST = 1)和在parameters.yml中定义了默认值:

parameters:
    env(TEST): 2

当我进入控制台并输出容器参数时,它始终是parameters.yaml中的值:

bin/console debug:container --parameters | grep env
env(TEST) 2

我也尝试完全按照文档中所述进行操作:

TEST: "%env(TEST)%"
env(TEST): 2

现在,当我转储参数时,我两个都有:

bin/console debug:container --parameters | grep env
TEST %env(TEST)%
env(TEST) 2

更准确地说:我使用docker设置,并且容器内的printenv给了我显示的TEST = 1。

有人可以告诉我这里发生了什么/发生了什么?它已经工作了一段时间,然后可能在进行一些重大更新后就坏了。

我尝试调试它,并在Symfony资料中找到一个非常奇怪的地方:https://github.com/symfony/symfony/blob/3.4/src/Symfony/Component/DependencyInjection/ContainerBuilder.php#L1416

在这行代码中,传递了一个值“ 2”,它不满足条件并被返回。

1 个答案:

答案 0 :(得分:0)

看起来一切正常,只是参数调试输出使我感到困惑。