V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hobbyliu
V2EX  ›  问与答

laravel .env 文件的一些疑问

  •  
  •   hobbyliu · 2015-06-02 13:42:23 +08:00 · 5563 次点击
    这是一个创建于 3250 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    4 条回复    2015-06-02 21:50:49 +08:00
    fyp0414
        1
    fyp0414  
       2015-06-02 13:53:36 +08:00
    既然是忽略.env的,生产环境上的.env文件内容就和测试环境的不一样.
    你看下.env文件前两行:
    APP_ENV=local
    APP_DEBUG=true
    sun522198558
        2
    sun522198558  
       2015-06-02 13:56:58 +08:00
    他有个函数检测env 里面有的话 就拿 没有就用默认的
    hobbyliu
        3
    hobbyliu  
    OP
       2015-06-02 14:34:33 +08:00
    @fyp0414 但是他是手动吧.env 部署到生成环境的吗,这样未免太麻烦,如果有100台生产环境机器,要每台在项目放一个.env?
    Sinute
        4
    Sinute  
       2015-06-02 21:50:49 +08:00
    @hobbyliu
    自动部署脚本去分发.env或者直接在每台机器的环境变量里面配置去覆盖默认值
    没有接触过那么多机器的情况不知道第二种方法会不会有什么其他问题
    读取顺序是优先机器的环境然后是.env
    但是.env可以有多个
    外层的优先生效
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1586 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:06 · PVG 01:06 · LAX 10:06 · JFK 13:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.