Symfony:加载 .env.test 文件
Symfony: Loading .env.test files
我认为这个 PR 解决了我遇到的问题 - 但我有这个补丁但它仍然没有按我预期的那样工作 - 我错过了什么或误解了什么?
https://github.com/symfony/symfony/pull/28533
我创建了一个 .env.test,其中包含以下内容:
DATABASE_URL_TEST=mysql://apps:@localhost:3306/mydb_test
然后我在 config/packages/test
目录中放置了一个 doctrine.yaml。
Symfony v4.2.3
但是当我从 CLI 运行 这个命令时:
APP_ENV=test bin/console doctrine:database:create --env=test
我收到一个错误:
Environment variable not found: "DATABASE_URL_TEST".
很明显 .env.test
文件没有被加载 - 我如何获取要加载的特定环境配置文件 - 除了 .env???
如果您的应用程序在某些时候确实是 Symfony 3.x 应用程序,我猜想是在升级过程中,UPGRADE 过程中的这两行被遗漏了:
Then, upgrade the contents of your console script and your front
controller:
确实,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
我有一个非常相似的问题。我的问题是我的 phpunit.xml.dist
指向了错误的 bootstrap 文件:
之前:
bootstrap="vendor/autoload.php"
更改为:
bootstrap="tests/bootstrap.php"
我认为这个 PR 解决了我遇到的问题 - 但我有这个补丁但它仍然没有按我预期的那样工作 - 我错过了什么或误解了什么?
https://github.com/symfony/symfony/pull/28533
我创建了一个 .env.test,其中包含以下内容:
DATABASE_URL_TEST=mysql://apps:@localhost:3306/mydb_test
然后我在 config/packages/test
目录中放置了一个 doctrine.yaml。
Symfony v4.2.3
但是当我从 CLI 运行 这个命令时:
APP_ENV=test bin/console doctrine:database:create --env=test
我收到一个错误:
Environment variable not found: "DATABASE_URL_TEST".
很明显 .env.test
文件没有被加载 - 我如何获取要加载的特定环境配置文件 - 除了 .env???
如果您的应用程序在某些时候确实是 Symfony 3.x 应用程序,我猜想是在升级过程中,UPGRADE 过程中的这两行被遗漏了:
Then, upgrade the contents of your console script and your front controller:
确实,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
我有一个非常相似的问题。我的问题是我的 phpunit.xml.dist
指向了错误的 bootstrap 文件:
之前:
bootstrap="vendor/autoload.php"
更改为:
bootstrap="tests/bootstrap.php"