По умолчанию в файле 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?
person
Marcin Nabiałek
schedule
14.10.2014