升级后的 Laravel,.env 变量未定义索引



我正在将Laravel从5.1升级到5.2。当我使用 $_ENV 引用 .env 文件中的变量API_DOMAIN时$_ENV['API_DOMAIN']我收到一个错误,说未定义的索引:API_DOMAIN"。我在这里错过了什么吗?我应该在作曲家更新后做点什么吗?

尝试改用 env 助手,env('API_DOMAIN')

env文件中进行更改后运行以下命令。它将刷新并重新填充所有env变量。

php artisan config:cache   //flush all cached env variable
php artisan config:clear   //repopulate all the env variable
php artisan cache:clear    //flush all the cached content

您不应该直接在应用程序中使用环境值,我会创建一个新的配置文件或使用现有的配置文件并在那里添加值,这样您就可以缓存配置。

让我们以您的API_DOMAIN为例:

.env 文件

API_DOMAIN=www.mydomain.com

配置文件

config/api.php例如

<?php
return [
'domain' => env('API_DOMAIN'),
];

现在,您可以使用配置帮助程序在应用程序中使用此变量:

$value = config('api.domain');

切勿在配置文件之外使用env()帮助程序,因为当您缓存配置时,env()将返回null

最新更新