【发布时间】:2014-01-07 07:11:04
【问题描述】:
在 Laravel 4 中,默认的配置环境是“生产”。这意味着,如果您在没有 --env 选项的情况下运行 artisan 命令,它将采用生产配置。这可以在\Illuminate\Foundation\Application::detectWebEnvironment() 中看到,当没有设置--env 选项时,detectConsoleEnvironment() 会调用它。
这种行为已成为我的开发环境的风险。很容易忘记 --env 选项,比如说,无意中在生产数据库上运行迁移。 (是的,发生了这种情况,但幸运的是,这是一个很小的变化。)我即将将我的生产环境配置重命名为“真实生产”,但似乎应该有一个更优雅的解决方案。
TL;DR
如何更改 Laravel 4 中的默认环境,以使 artisan 命令默认不会在生产环境中运行?
【问题讨论】:
-
我认为 [这个答案][1] 就是你要找的... [1]:stackoverflow.com/a/19739750/1272001
-
我不知道你的设置,但一般来说,开发、登台和生产不应该能够访问彼此的环境变量,这意味着你所做的事情是不可能的。相反,将生产设置为默认设置会更安全,因为开发环境可能会泄露机密信息,例如错误消息。 Laravel 在这里有一些关于它的文档:laravel.com/docs/…