Мое решение также основано на Отдельных конфигурациях Yii Framework для различных сред .Преимущество этого метода в том, что общая конфигурация хранится в config / main.php , а только различия хранятся в config / main_prod.php и config / main_dev.php благодаря CMap :: mergeArray .
config / main.php пример:
<?php
$config = array( ... );
switch ($_SERVER['SERVER_NAME']) {
case 'your-prod-server-name.com':
$config = CMap::mergeArray(
$config,
require(dirname(__FILE__) . '/main_prod.php')
);
break;
default:
$config = CMap::mergeArray(
$config,
require(dirname(__FILE__) . '/main_dev.php')
);
break;
}
return $config;
Конечно, вместо $_SERVER['SERVER_NAME']
Вы можете использовать YII_DEBUG
:
<?php
$config = array( ... );
if (YII_DEBUG) {
$config = CMap::mergeArray(
$config,
require(dirname(__FILE__) . '/main_dev.php')
);
} else {
$config = CMap::mergeArray(
$config,
require(dirname(__FILE__) . '/main_prod.php')
);
}
return $config;