Для веб-приложения Yii 1 я использую symfony/dotenv
библиотека для чтения и загрузки переменных среды из файла .env. Для этого я добавил код в файл index.php,
require 'vendor/autoload.php'; //autoload for composer
if(file_exists('/path/to/.env')){
$dotenv = new Symfony\Component\Dotenv\Dotenv();
$dotenv->load(__DIR__.'/path/to/.env');
}
else{
// Missing .env file
exit;
}
Это хорошо работает с веб-приложением. Однако для консольных приложений Yii это не работает, поскольку index.php не загружается. Это можно сделать внутри файла console.php? Как?
Для консольного приложения вы можете сделать то же самое в protected/yiic.php
, Этот файл используется для начальной загрузки при вызове ./yiic
так же, как index.php
загружается по веб-запросу.
Других решений пока нет …