【发布时间】:2015-12-10 00:38:26
【问题描述】:
我最近开始在 Laravel 中开发一个应用程序。我在 2 台机器(家用工作站和笔记本电脑)上进行开发,并将在另一台机器上运行“生产”应用程序。
在这些机器上有几个不同的设置(最值得注意的是 DB_USERNAME/DB_PASSWORD
让 laravel 自动检测其运行环境的最佳方法是什么(例如通过主机名或 ip)?
我找到了一些教程,如 https://mattstauffer.co/blog/laravel-5.0-environment-detection-and-environment-variables 和 http://developers.ph/laravel-framework/laravel-5/how-to-setup-multiple-environment-for-laravel-5-developers-way/,但它们似乎依赖于手动设置环境而不是检测它。
【问题讨论】:
-
我想你回答了你自己的问题。使用环境变量可能是最好的方法。您可以在 Apache/Nginx 虚拟主机中设置变量。
-
您应该将环境相关设置放在 .env 文件中。此文件不应在主机之间共享
-
你必须在某个地方设置环境值(在这种情况下,它是 .env 文件)因为除非你告诉系统,它怎么知道它是哪个环境?