首页 > 解决方案 > Symfony:加载 .env.test 文件

问题描述

我认为这个 PR 解决了我遇到的问题 - 但我有这个补丁,但它仍然没有像我预期的那样工作 - 我错过了什么或误解了什么?

https://github.com/symfony/symfony/pull/28533

我创建了一个 .env.test ,其中包含以下内容:

DATABASE_URL_TEST=mysql://apps:@localhost:3306/mydb_test

然后我在目录中放置了一个教义.yaml config/packages/test

Symfonyv4.2.3

但是,当我从 CLI 运行此命令时:

APP_ENV=test bin/console doctrine:database:create --env=test

我收到一个错误:

未找到环境变量:“DATABASE_URL_TEST”。

显然该.env.test文件没有被加载——我如何获得一个特定的环境配置文件来加载——除了 .env ???

标签: symfonysymfony4

解决方案


如果您的应用程序在某个时候确实是 Symfony 3.x 应用程序,我猜想在升级过程中,UPGRADE 过程中的这两行被遗漏了:

然后,升级控制台脚本和前端控制器的内容:

实际上,最近似乎bin/console已经更改以反映对DotEnv组件所做的调整:https ://github.com/symfony/recipes/commit/3e471cbc7d359b3ab245f3b0748d698e8d29692c#diff-2af50efd729ff8e61dcbd936cf2b114b

请注意,您还需要https://github.com/symfony/recipes/blob/master/symfony/framework-bundle/4.2/config/bootstrap.php


推荐阅读