环境变量配置

ThinkPHP5.0支持使用环境变量配置。

在开发过程中,可以在应用根目录下面的.env来模拟环境变量配置,.env文件中的配置参数定义格式采用ini方式,例如:

  1. app_debug = true
  2. app_trace = true

如果你的部署环境单独配置了环境变量,那么请删除.env配置文件,避免冲突。

环境变量配置的参数会全部转换为大写,值为 nullnofalse 等效于 "",值为 yestrue 等效于 "1"

ThinkPHP5.0默认的环境变量前缀是PHP_,也可以通过改变ENV_PREFIX常量来重新设置。

注意,环境变量不支持数组参数,如果需要使用数组参数可以,使用下划线分割定义配置参数名:

  1. database_username = root
  2. database_password = 123456

或者使用

  1. [database]
  2. username = root
  3. password = 123456

获取环境变量的值可以使用下面的两种方式获取:

  1. Env::get('database.username');
  2. Env::get('database.password');
  3. // 同时下面的方式也可以获取
  4. Env::get('database_username');
  5. Env::get('database_password');

可以支持默认值,例如:

  1. // 获取环境变量 如果不存在则使用默认值root
  2. Env::get('database.username','root');

可以直接在应用配置中使用环境变量,例如:

  1. return [
  2. 'hostname' => Env::get('hostname','127.0.0.1'),
  3. ];
环境变量中设置的app_debugapp_trace参数会自动生效(优先于应用的配置文件),其它参数则必须通过Env::get方法才能读取。