Так же как и /protected/config/main.php удобно настроить для сервера и для локальной машины (подробнее), можно настроить и console.php.
И так приступим. В папке /protected/config/ создадим 2 файла: consoleLocal.php и consoleServer.php.
Теперь для конфигурации консоли у нас есть 3 файла. console.php - содержит основные конфигурации для локальной машины и для сервера. consoleLocal.php - конфигурация только для локальной машины. consoleServer.php - конфигурация только для сервера.
Настроим основные конфигурации, для этого откроем файл console.php и приведем его к следующему виду:
<?php
return array(
'basePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '..',
'name' => 'project name',
// preloading 'log' component
'preload' => array('log'),
// application components
'components' => array(
'log' => array(
'class' => 'CLogRouter',
'routes' => array(
array(
'class' => 'CFileLogRoute',
'levels' => 'error, warning',
),
),
),
),
);
Теперь можно настраивать соединение с БД в зависимости от места запуска. Перейдем к настройки для локальной машины, откройте файл consoleLocal.php и добавьте конфигурацию соединения с БД, пример:
<?php
return CMap::mergeArray(
require(dirname(__FILE__) . '/console.php'), array(
'components' => array(
'db' => array(
'connectionString' => 'mysql:host=localhost;dbname=mydbname',
'emulatePrepare' => true,
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'enableProfiling' => true,
),
),
),
);
По аналогии настройте конфигурацию соединения с БД для сервера в файле consoleServer.php. В файлах consoleLocal.php и consoleServer.php можно настроить не только разное подключение к базе данных, но и другие конфигурации. Например логирование и т.д..
Теперь настроим выбор файла конфигураций в зависимости от места запуска. Для этого открываем файл /protected/yiic.php и приводим его к следующему виду:
<?php
$yiic=dirname(__FILE__).'/../framework/yiic.php';
if ($_SERVER['OS'] == 'Windows_NT') {
$config=dirname(__FILE__).'/config/consoleLocal.php';
} else {
$config=dirname(__FILE__).'/config/consoleServer.php';
}
require_once($yiic);
Все, теперь можете пользоваться консольными командами Yii не переживая о постоянной смене конфигураций.
$_SERVER['OS']. Мне этот параметр подходит, т.к. на локальной машине у меня Winsows 7, а на сервере CentOS.
Если у вас возникли проблемы с определением места запуска, то можете использовать другой параметр определения или элемент массива $_SERVER. Для просмотра всех параметров $_SERVER Вы можете привести файл yiic.php к виду:
<?php $yiic=dirname(__FILE__).'/../framework/yiic.php'; var_dump($_SERVER); die;
И выполнить команду yiic в консоле (для Windows
Win + R и введите cmd), перед выполнением команды вы должны находиться в папке my project path/protected:
yiic
Команда исполнит php код в файле yiic.php и выведет список всех параметров массива $_SERVER. После выбора параметров не забудьте вернуть все как было.
devreadwrite.com

Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
Комментарии отсутствуют, Вы можете быть первым