【发布时间】:2017-03-13 18:38:03
【问题描述】:
我正在尝试编写一个命令作为构建项目的快速入门。该命令要求输入数据库详细信息,然后更改 .env 文件。问题是该命令之后需要进行一些数据库查询,但是 .env 变量没有重新加载。
我的问题是,有没有办法重新加载或覆盖 .env 变量运行时。如果没有,有没有办法新鲜地调用另一个 Artisan 命令,让框架再次启动?
在我的命令中,我尝试在实际命令中执行$this->call('build:project'),但即使在第二次调用中,变量也不会重新加载。
有没有办法在不让用户手动调用多个命令的情况下实现这一点?
谢谢!
【问题讨论】:
-
你能添加一个改变 .env 文件的命令的 sn-p 吗?
-
这是一个简单的 str_replace 文件:
file_put_contents(base_path('.env'), str_replace($from, $to, file_get_contents(base_path('.env'))));
标签: php laravel laravel-artisan