Нашел причину почему не выходит сделать отдельные конфиги как по документации CI.
В атозагрузке CI приложения стоит библиотека
application\config\autoload.php
...$autoload['libraries'] = array('lib_init', 'lib_category', 'lib_csrf');...
\application\libraries\lib_init.php
...else
{
// Load DB
$CI->load->database();
// Load hooks lib
$CI->load->library('cms_hooks');
}...
$CI->load->database(); подключает и выполняет функцию DB с файла \system\database\DB.php
Начиная с 31 строки код:
...
$file_path = APPPATH.'config/config'.EXT;
if ( ! file_exists($file_path))
{
continue;
}
...
Это видимо было сделано для того чтоб соединить конфиги /application/config/config.php /application/config/dababase.php в 1 файл.
В родном CI, ветки 2.0.1, начиная с 31 строки код другой
...$file_path = APPPATH.'config/'.ENVIRONMENT.'/database'.EXT;
if ( ! file_exists($file_path))
{
log_message('debug', 'Database config for '.ENVIRONMENT.' environment is not found. Trying global config.');
$file_path = APPPATH.'config/database'.EXT;
if ( ! file_exists($file_path))
{
continue;
}
}
include($file_path);...
Как видим в $file_path присваивается путь относительно ENVIRONMENT, если его нет, то подключается и выполняется глобальный конфиг.
Решение
\system\database\DB.php
...$file_path = APPPATH.'config/'.ENVIRONMENT.'/config'.EXT;
if ( ! file_exists($file_path))
{
log_message('debug', 'Database config for '.ENVIRONMENT.' environment is not found. Trying global config.');
$file_path = APPPATH.'config/config'.EXT;
if ( ! file_exists($file_path))
{
continue;
}
}...
ps файлы CI лучше не править чтоб не было проблем.