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;
}
}
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容