第一:$_ENV
会为空,其原因通常是php的配置文件php.ini的配置项为:
;variables_order
;Default Value: “EGPCS”
;Development Value: “GPCS”
;Production Value: “GPCS”
要想让$_ENV的值不为空:
;variables_order
Default Value: “EGPCS”
;Development Value: “GPCS”
;Production Value: “GPCS”
第二:
Env不显示的问题,需要在base.php中 putenv的同时,将数据也写入$_ENV,就可以解决了
打开thinkphp目录下的base.php文件修改。41行左右
if (is_file(ROOT_PATH . '.env')) {
$env = parse_ini_file(ROOT_PATH . '.env', true);
foreach ($env as $key => $val) {
$name = ENV_PREFIX . strtoupper($key);
if (is_array($val)) {
foreach ($val as $k => $v) {
$item = $name . '_' . strtoupper($k);
putenv("$item=$v");
}
} else {
putenv("$name=$val");
//加入这一句
$_ENV[$name]=$val;
}
}
}