$val) { $name = ENV_PREFIX . s" />
牛骨文教育服务平台(让学习变的简单)
博文笔记

thinkphp5 环境变量配置

创建时间:2016-09-19 投稿人: 浏览次数:3289
// 加载环境变量配置文件
if (is_file(ROOT_PATH . "env.php")) {
    $env = parse_ini_file(ROOT_PATH . "env.php", true);
    foreach ($env as $key => $val) {
        $name = ENV_PREFIX . strtoupper($key);  <span style="color:#FF0000;">//使用了前缀</span>
        if (is_array($val)) {
            foreach ($val as $k => $v) {
                $item = $name . "_" . strtoupper($k);
                putenv("$item=$v");
            }
        } else {
            putenv("$name=$val");
        }
    }
}


.env  文件,

windows下面建无名文件挺麻烦的,我改为了env.php  , 
env.php 内容:
Xiong="adasd";


环境变量读取

namespace think;

class Env
{
    /**
     * 获取环境变量值
     * @param string    $name 环境变量名(支持二级 .号分割)
     * @param string    $default  默认值
     * @return mixed
     */
    public static function get($name, $default = null)
    {
        $result = getenv(ENV_PREFIX . strtoupper(str_replace(".", "_", $name))); 
        var_dump( getenv(ENV_PREFIX ."Xiong") ); <span style="color:#FF0000;">//打印测试</span>
        if (false !== $result) {
            return $result;
        } else {
            return $default;
        }
    }
}

getenv(ENV_PREFIX ."Xiong")
能获取自己之前env.php 中设定的变量

读取环境变量  	hinkEnv::get("Xiong");  

但是这个环境变量在开发中什么场景下使用并没有明白,如果仅仅是为了区分开发环境,正式环境,我完全可以用其他配置文件,比如config。

留坑

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。