Laravel 5 не читает значения из точечных файлов ENV

Я не знаю, является ли этот вопрос актуальным или нет. LARAVEL 5 все еще находится в стадии разработки. Я вытащил LARAVEL 5 после просмотра одного из видео Laracast о новых функциях в LARAVEL 5. Я не удержался, чтобы дождаться его официального выхода.

Я назвал местную среду dot подать как .env.local.php, Но по какой-то причине я не могу получить значения из этого файла точек при использовании $_ENV['KEY'],

Я совершенно уверен, что правильно настроил среду. При выполнении $app->environment() показывает правильную среду. Изменено ли это в LARAVEL 5, как мы получаем значения из точечных файлов, или я что-то упустил?

1 ответ

Решение

По умолчанию в environment.php файл у вас есть что-то вроде этого:

if (file_exists(__DIR__.'/../.env'))
{
    Dotenv::load(__DIR__.'/../');
}

так только .env файл читается (уведомление .env не .env.php - поэтому вы должны переименовать ваш файл - или вы можете добавить в качестве имени файла второго параметра .env.php если ты хочешь). Любые другие файлы среды (.local.env) не читаются по умолчанию - вам нужно будет загрузить их вручную.

Если у вас нет такого кода по умолчанию, вам, вероятно, следует обновить / установить Laravel 5 снова (изменения появляются очень часто)

Теперь я не знаю, какой метод вы используете, но вы можете положить в свой .env также укажите имя вашей среды, например APP_ENV переменная, создать .local.env файл с содержанием, которое вы хотите, а затем вы можете использовать в environment.php файл:

if (file_exists(__DIR__.'/../.env'))
{
    Dotenv::load(__DIR__.'/../');

    if (getenv('APP_ENV') && file_exists(__DIR__.'/../.' .getenv('APP_ENV') .'.env')) {
        echo "loading";
        Dotenv::load(__DIR__ . '/../', '.' . getenv('APP_ENV') . '.env');
    }

}

Если вы не хотите делать это таким образом, вы можете изменить другой файл и загрузить нужный файл env на основе $env при условии, что вы используете обнаружение среды на базе ПК.

Если неясно, вы также можете посмотреть , как правильно установить переменные ENV в Laravel 5?

Другие вопросы по тегам