Php 如何使用.env.test中的环境变量启动Symfony服务器?

Php 如何使用.env.test中的环境变量启动Symfony服务器?,php,symfony,symfony4,Php,Symfony,Symfony4,是否有任何方法可以从其他环境(如.env.test)而不是.env)中使用环境变量(如DATABASE\u URL)启动内置服务器 我想使用不同的数据库进行开发和测试,但是Symfony服务器总是使用dev 我已经试过这样的东西: APP_ENV=test bin/console server:start 我正在使用symfony4您需要更改.env文件以将环境从dev更改为prod,因此我认为最好的方法是创建两个文件: 第一个用于本地开发人员配置,另一个用于prod server中的其他配置

是否有任何方法可以从其他环境(如
.env.test
)而不是
.env
)中使用环境变量(如
DATABASE\u URL
)启动内置服务器

我想使用不同的数据库进行开发和测试,但是Symfony服务器总是使用dev

我已经试过这样的东西:

APP_ENV=test bin/console server:start

我正在使用symfony4

您需要更改.env文件以将环境从dev更改为prod,因此我认为最好的方法是创建两个文件:

第一个用于本地开发人员配置,另一个用于prod server中的其他配置

您还可以在config/packages/doctor.yaml中配置数据库,如下所示:

doctrine:
    dbal:
        # configure these for your database server
        dbname:               ****
        host:                 127.0.0.1
        port:                 8889
        user:                 ****
        password:             ****

希望有此帮助。

当您运行
/bin/console
时,您会看到此命令的帮助很少,您应该会看到以下标志:

-e, --env=ENV         The Environment name. [default: "dev"]

这意味着您可以简单地运行
bin/console--env=testserver:start

bin/console--env=testserver:start这很有效!现在,应用程序正在使用.env.test文件中提供的变量,但由于某些原因,当我在test env中启动应用程序时,某些功能停止工作。例如,登录失败,没有任何错误消息。您必须知道,通常有三个环境(test/dev/prod),每个环境加载不同的yaml文件-因此可能有些服务未注册?看看var/test.log,应该会有一些有趣的东西。谢谢你一定会做的