php不同环境加载不同配置,根据环境读取不同配置

[TOC]

### 1.配置的通用格式

.env文件中进行设置,在后续的其他配置里,使用env('.env文件的配置key')来给后面的配置指定

所以最核心的配置应该是走.env文件配置,其他地方的配置如/config/下各个配置文件的配置,都用env('.env文件的配置key')来指定。

### 2.如何设定?

vendor\laravel\framework\src\Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables.php

```

/**

* Detect if a custom environment file matching the APP_ENV exists.

*

* @param \Illuminate\Contracts\Foundation\Application $app

* @return void

*/

protected function checkForSpecificEnvironmentFile($app)

{

if ($app->runningInConsole() && ($input = new ArgvInput)->hasParameterOption('--env')) {

if ($this->setEnvironmentFilePath(

$app, $app->environmentFile().'.'.$input->getParameterOption('--env')

)) {

return;

}

}

if (! env('APP_ENV')) {

return;

}

$this->setEnvironmentFilePath(

$app, $app->environmentFile().'.'.env('APP_ENV')

);

}

```

如果是命令行,如php artisan 或者 php 则用 --env 参数来分辨

如果是普通模式,可以在入口文件通过putenv函数将APP_ENV环境变量注入。这样就会加载.env.APP_ENV

```

# 变量$env用代码逻辑区分环境,比如不同环境的host不一样

# 也可以直接指定 线上不用加这段代码,直接使用默认的加载.env

$env = '';

define('APP_ENV', $env);

putenv('APP_ENV='.APP_ENV);

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值