V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
hobbyliu
V2EX  ›  问与答

laravel .env 文件的一些疑问

  •  
  •   hobbyliu · Jun 2, 2015 · 6436 views
    This topic created in 3990 days ago, the information mentioned may be changed or developed.

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

    4 replies    2015-06-02 21:50:49 +08:00
    bitpp
        1
    bitpp  
       Jun 2, 2015
    既然是忽略.env的,生产环境上的.env文件内容就和测试环境的不一样.
    你看下.env文件前两行:
    APP_ENV=local
    APP_DEBUG=true
    sun522198558
        2
    sun522198558  
       Jun 2, 2015
    他有个函数检测env 里面有的话 就拿 没有就用默认的
    hobbyliu
        3
    hobbyliu  
    OP
       Jun 2, 2015
    @fyp0414 但是他是手动吧.env 部署到生成环境的吗,这样未免太麻烦,如果有100台生产环境机器,要每台在项目放一个.env?
    Sinute
        4
    Sinute  
       Jun 2, 2015
    @hobbyliu
    自动部署脚本去分发.env或者直接在每台机器的环境变量里面配置去覆盖默认值
    没有接触过那么多机器的情况不知道第二种方法会不会有什么其他问题
    读取顺序是优先机器的环境然后是.env
    但是.env可以有多个
    外层的优先生效
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2610 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 11:41 · PVG 19:41 · LAX 04:41 · JFK 07:41
    ♥ Do have faith in what you're doing.