hobbyliu
V2EX  ›  问与答

laravel .env 文件的一些疑问

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