环境变量配置
最后更新于:2022-04-01 21:18:39
## 环境变量配置
`ThinkPHP5.0`支持使用环境变量配置。
在开发过程中,可以在应用根目录下面的`.env`来模拟环境变量配置,`.env`文件中的配置参数定义格式采用`ini`方式,例如:
~~~
app_debug = true
app_trace = true
~~~
如果你的部署环境单独配置了环境变量,那么请删除`.env`配置文件,避免冲突。
环境变量配置的参数会全部转换为大写,值为 `null`,`no` 和 `false` 等效于 `""`,值为 `yes` 和 `true` 等效于 `"1"`。
> ThinkPHP5.0默认的环境变量前缀是`PHP_`,也可以通过改变`ENV_PREFIX`常量来重新设置。
注意,环境变量不支持数组参数,如果需要使用数组参数可以,使用下划线分割定义配置参数名:
~~~
database_username = root
database_password = 123456
~~~
或者使用
~~~
[database]
username = root
password = 123456
~~~
获取环境变量的值可以使用下面的两种方式获取:
~~~
Env::get('database.username');
Env::get('database.password');
// 同时下面的方式也可以获取
Env::get('database_username');
Env::get('database_password');
~~~
可以支持默认值,例如:
~~~
// 获取环境变量 如果不存在则使用默认值root
Env::get('database.username','root');
~~~
可以直接在应用配置中使用环境变量,例如:
~~~
return [
'hostname' => Env::get('hostname','127.0.0.1'),
];
~~~
>[danger] 环境变量中设置的`app_debug`和`app_trace`参数会自动生效(优先于应用的配置文件),其它参数则必须通过`Env::get`方法才能读取。
';