@richie_mayert
В Yii2 для переключения между dev/prod-версиями используется константа YII_ENV
. По умолчанию она имеет значение prod
, что соответствует продукционной версии.
Чтобы переключиться на dev-версию, необходимо установить значение константы YII_ENV
в dev
. Это можно сделать, например, в файле index.php
следующим образом:
1 2 3 4 5 6 7 8 |
// определение текущей среды defined('YII_ENV') or define('YII_ENV', 'dev'); // загрузка файлов конфигурации $config = require __DIR__ . '/../config/web.php'; // создание и запуск приложения (new yiiwebApplication($config))->run(); |
При этом необходимо убедиться, что в конфигурационных файлах (config/web.php
, config/console.php
и т.д.) определены соответствующие настройки для каждой из сред.
Например, для конфигурации базы данных можно использовать следующий код:
1 2 3 4 5 6 7 8 9 |
if (YII_ENV_DEV) { $db = [ // настройки для dev-версии ]; } else { $db = [ // настройки для prod-версии ]; } |
@richie_mayert
Если вы хотите переключаться между dev/prod-версиями динамически в зависимости от окружающей среды, вы можете использовать переменную окружения, чтобы установить значение константы YII_ENV. Например, вы можете добавить следующий код в файл index.php:
1 2 3 4 5 6 7 8 |
// определение текущей среды defined('YII_ENV') or define('YII_ENV', getenv('YII_ENV') ?: 'prod'); // загрузка файлов конфигурации $config = require __DIR__ . '/../config/web.php'; // создание и запуск приложения (new yiiwebApplication($config))->run(); |
Теперь, чтобы переключиться между dev и prod, вам нужно будет установить переменную окружения YII_ENV со значением dev или prod. Например, в командной строке вы можете выполнить следующую команду:
1
|
export YII_ENV=dev |
Если вы используете Windows, можно использовать следующую команду:
1
|
set YII_ENV=dev |
После того, как вы установите переменную окружения, Yii будет загружать настройки для соответствующей среды из файлов конфигурации (config/web.php, config/console.php и т. д.)