Laravel Artisan - 重新加载.env变量或重启框架

Gie*_*ius 4 php laravel artisan

我正在尝试编写一个命令作为构建项目的快速入门.该命令要求输入数据库详细信息,然后更改.env文件.问题是该命令之后需要进行一些数据库查询,但不会重新加载.env变量.

我的问题是,有没有办法重新加载或覆盖.env变量运行时.如果没有,有没有办法新鲜地召唤另一个Artisan命令,那么框架再次引导?

在我的命令中,我尝试$this->call('build:project')用我的实际命令,但即使在第二次调用中,变量也不会重新加载.

有没有办法在不让用户手动调用多个命令的情况下实现这一目的?

谢谢!

Ale*_*nin 5

Laravel使用从.env文件中获取数据的配置文件.因此,您可以做的是在运行时覆盖配置值:

config(['database.default' => 'mysql']);
Run Code Online (Sandbox Code Playgroud)


小智 5

我在重新加载 .env 变量时遇到了同样的问题,我用这个命令行修复了它,它允许你清除配置:

php artisan config:clear
Run Code Online (Sandbox Code Playgroud)

希望有所帮助。问候。