天天看点

php加载自定义配置文件 parse_ini_file

parse_ini_file

* env.ini

[database]
type = mysql
hostname = 172.16.0.224
database = zkt_crm
username = root
password = Mzh123
hostport = 3306

[cache]
type = Redis
host = 172.16.0.224
port = 6379
password = Mzh123           

* parse_ini_file.php

<?php

$env = parse_ini_file("env.ini", true);

var_dump($env);

echo $env['cache']['type'].PHP_EOL;
           

输出结果:

array(2) {

  ["database"]=>

  array(6) {

    ["type"]=>

    string(5) "mysql"

    ["hostname"]=>

    string(12) "172.16.0.224"

    ["database"]=>

    string(7) "zkt_crm"

    ["username"]=>

    string(4) "root"

    ["password"]=>

    string(6) "Mzh123"

    ["hostport"]=>

    string(4) "3306"

  }

  ["cache"]=>

  array(4) {

    ["type"]=>

    string(5) "Redis"

    ["host"]=>

    string(12) "172.16.0.224"

    ["port"]=>

    string(4) "6379"

    ["password"]=>

    string(6) "Mzh123"

  }

}

Redis

thinkphp5.0加载配置文件.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");
            }
        } else {
            putenv("$name=$val");
        }
    }
}