Я попытался получить переменную среды из .env в моем корне с помощью
Route::get('/test', function () {
return "value is". getenv('APP_ENV');
});
и
Route::get('/test', function () {
return "it is". env('APP_ENV');
});
Это в .env
APP_NAME=Laravel
APP_ENV=local
Как я могу получить к нему доступ?






laravel предоставляет глобальную вспомогательную функцию для такого рода задач
$val = config('app.something');
вы также можете установить новые значения с помощью следующего метода
config(['app.something' => 'cat']);
для вашей конкретной задачи это было бы
$val = config('app.env');
или определить env глобально
$environment = App::environment();
Надеюсь, это поможет, всего хорошего!
Как насчет Javascript (файл лезвия)?
Согласно документации Laravel на Конфигурация среды,
All of the variables listed in this file will be loaded into the $_ENV PHP super-global when your application receives a request. You may use the env helper to retrieve values from these variables.
Таким образом, можно получить доступ к переменной как
$_ENV['envKey'];
С Laravel вам следует избегать переменных окружения за пределами ваших файлов конфигурации.
В своих файлах конфигурации вы можете использовать переменные среды, например, в config / app.php:
'env' => env('APP_ENV', 'production'),
Затем вы можете получить к нему доступ с помощью помощника по настройке: config('app.env').
Это позволяет вам кэшировать вашу конфигурацию и по-прежнему получать доступ к этим значениям, поскольку env('APP_ENV') будет больше не работает после кеширования вашей конфигурации.
Если установить другой 'production', может ли это быть и 'OTHER_ENV_VAR'?
Я не понимаю, почему вы не могли вложить вызовы env: env('APP_ENV', env('OTHER_ENV_VAR', 'ultimate_default'))
Route::get('/test', function () {
return "it is".config('app.name');
});
использовать env('ENVKEY')
Не забывайте когда-нибудь очищать кеш из-за кеша.
php artisan config:clear
php artisan cache:clear
composer dump-autoload
Более подробную информацию смотрите на док
Кеш приложения не повлияет на переменные среды, только кеш конфигурации.
может и нет, но что-то не получается. Есть много случаев, например, вы можете проверить это stackoverflow.com/questions/43040967/…
Это нормально, но единственное, что имеет значение, - это ваша первая команда. Я предлагаю вам изучить две другие команды, если вы считаете, что они имеют отношение к этому вопросу.
Думаю, это актуально, поэтому и добавил. Спасибо за вашу информацию, хотя я буду исследовать ее
спасибо, что это заняло у меня 1 час, чтобы понять это. новое для конфигурации laravel
App::environment()
попробуйте это пожалуйста
Я пробовал env ('APP_ENV'), $ _ENV ('APP_ENV'), но результаты нулевые. Эта функция дает мне результат. ваше здоровье :)
просто запустите эти команды в cmd.
php artisan config:cache
потом
php artisan config:clear
потом
php artisan cache:clear
Это пустой Route :: get ('/ test', function () {return "Environment". Config ('APP_ENV');}); мне нужно установить его где-нибудь еще?