我正在将项目从Symfony 2.3升级到Symfony 3.4,我对.env和.env.dist文件之间的关系感到有点困惑。据我所知,它们之间的关系与Symfony2中parameters.yml和parameters.yml.dist之间的关系相同。但是在较旧的Symfony中,在提示用户使用parameters.yml.dist中的参数作为默认值时,参数.yml将在composer update
期间自动更新。另一方面,在Symfony3文档中,我找不到任何对参数自动复制的引用。 .env.dist中的参数是否总是需要手动复制到.env?如果有办法自动复制它们,是否有类似于incenteev/composer-parameter-handler的包有助于管理参数?
答案 0 :(得分:1)
你不再需要像incenteev / composer-parameter-handler这样的东西了。您可以在配置中访问ENV vars。所以你直接在配置中使用ENV vars,如下所示:
doctrine:
dbal:
default_connection: default
connections:
default:
dbname: '%env(SYMFONY_DATABASE_NAME)%'
user: '%env(SYMFONY_DATABASE_USER)%'
password: '%env(SYMFONY_DATABASE_PASSWORD)%'
.env文件只允许您添加ENV变量。 Symfony特别建议仅在非生产环境中使用.env。