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,应该会有一些有趣的东西。谢谢你一定会做的