thinkphpv5 設置環境變量

壓入環境變量的時候順手壓入到$_ENV里面。

// 加載環境變量配置文件
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");
$_ENV[$item] = $v;
}
} else {
putenv("$name=$val");
$_ENV[$name] = $v;
}
}
}

獲取的代碼稍微改動一點點。
class Env
{
/**
* 獲取環境變量值
* @param string $name 環境變量名(支持二級 .號分割)
* @param string $default 默認值
* @return mixed
*/
public static function get($name, $default = null)
{
$key = ENV_PREFIX . strtoupper(str_replace('.', '_', $name));
$result = isset($_ENV[$key]) ? $_ENV[$key] : getenv($key);
if (false !== $result) {
return $result;
} else {
return $default;
}
}
}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容