使用最新的Symfony 6.1和文档说.env.local
覆盖在.env
中设置的值
这对我不起作用,即当值在.env
中设置时,它不会被.env.local
的值覆盖。如果.env
中没有设置,则以.env.local
中的值为准。
裁判:
- https://symfony.com/doc/current/configuration.html overriding-environment-values-via-env-local
我最近也遇到了同样的问题。
我发现,自从Symfony 5.4添加了运行时选项dotenv_overload
,默认设置为false
。
这是在APP_RUNTIME_OPTIONS
上设置的,你可以通过文档这样更新:
#public/index.php
#bin/console
$_SERVER['APP_RUNTIME_OPTIONS'] = [
'dotenv_overload' => true,
];
注意:需要更新bin/console
和public/index.php
两个文件,使.env.local
覆盖。
注意2:由于某些原因,文档中缺少dotenv_overload
选项