qq_天智惩_0
2018-06-30 17:55
database_hostname=localhost
database_username=root
database_password=root //这种可以可以生效
[database]
hostname=localhost
username=root
password=root //这种不能生效,怎么解决
'PHP_DATABASE' => array (size=3) 'hostname' => string 'localhost' (length=9) 'username' => string 'root' (length=4) 'password' => string 'root' (length=4)
我输出是这样的
if (is_array($val)) {
foreach ($val as $k => $v) {
$item = $name . '_' . strtoupper($k);
putenv("$item=$v");
}
} else {
putenv("$name=$val");
//写入环境变量,才能在打印$_ENV文件的时候显示出来配置的环境变量
$_ENV[$name]=$val;
}
}
}
找thinkphp文件夹下的base.php文件,找到上面这一部分代码
第4行putenv("$item=$v");
往下加一句$_ENV[$item]=$v;
这样就行了
这是没有区别的,是根据配置文件里面获取hostname的指的,如果你改成database_hostname这样就可以获取到上面的值了
快速入门ThinkPHP 5.0--基础篇
58655 学习 · 495 问题
相似问题