laravel .env 文件的一些疑问

2015-06-02 13:42:23 +08:00
 hobbyliu

最近刚接触laravel 发现他的配置文件是在.env 中配置。他这样设计是为了在提交文件的时候,忽略提交它。那么问题来了,laravel 是如何区分测试环境和生产环境的,之前做的项目是 在PHP.INI定义一个env 参数,程序通过读取php.ini env参数 来判断不同的环境,从而加载不同的config.php, 进而实现 生产和开发环境的切换。对于,laravel 他的设计机制是怎么弄得,请大神指点。

5606 次点击
所在节点    问与答
4 条回复
fyp0414
2015-06-02 13:53:36 +08:00
既然是忽略.env的,生产环境上的.env文件内容就和测试环境的不一样.
你看下.env文件前两行:
APP_ENV=local
APP_DEBUG=true
sun522198558
2015-06-02 13:56:58 +08:00
他有个函数检测env 里面有的话 就拿 没有就用默认的
hobbyliu
2015-06-02 14:34:33 +08:00
@fyp0414 但是他是手动吧.env 部署到生成环境的吗,这样未免太麻烦,如果有100台生产环境机器,要每台在项目放一个.env?
Sinute
2015-06-02 21:50:49 +08:00
@hobbyliu
自动部署脚本去分发.env或者直接在每台机器的环境变量里面配置去覆盖默认值
没有接触过那么多机器的情况不知道第二种方法会不会有什么其他问题
读取顺序是优先机器的环境然后是.env
但是.env可以有多个
外层的优先生效

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/195511

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX