大家都知道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));
}
}