大家都知道tp5的数据库配置在config/database.php中,如果这个数据库配置正式服的数据,要再配置一个测试服的数据就需要在config中再创建一个database_test.php的配置文件。
但是你添加了database_test.php这么一个文件,得让tp5读取使用才行,不然也只是枉然。那tp5是在哪里读取使用数据库的配置文件呢。
配置文件路径:
thinkphp/library/think/App.php
对APP.php做如下修改:
修改init方法:
foreach ($files as $file) {
if ('.' . pathinfo($file, PATHINFO_EXTENSION) === $this->configExt) {
$filename = $dir . DIRECTORY_SEPARATOR . $file;
// 修改数据库配置 !!!!!!!!
if($_SERVER['SERVER_ADDR']=='127.0.0.1' || $_SERVER['SERVER_ADDR']=='::1' || $_SERVER['SERVER_NAME']=='你测试服的ip地址'){
if(pathinfo($file, PATHINFO_FILENAME) === 'database'){
//测试服加载数据库文件的位置
$filename = $dir . DIRECTORY_SEPARATOR . 'database_test.php';
}
}
// 修改数据库配置 !!!!!!!!
$this->config->load($filename, pathinfo($file, PATHINFO_FILENAME));
}
}