我正在将 Laravel 从 5.1 升级到 5.2。当我使用 $_ENV 引用 .env 文件中的变量 API_DOMAIN 时,
$_ENV['API_DOMAIN']
我收到一条错误消息,提示未定义索引:API_DOMAIN"。我在这里遗漏了什么吗?我应该在作曲家更新后做些什么吗?
问问题
1429 次
3 回答
2
尝试使用 env 助手,env('API_DOMAIN')
于 2020-05-11T13:09:57.850 回答
1
您不应该直接在应用程序中使用环境值,我会创建一个新的配置文件或使用现有的配置文件并在那里添加值,这样您就可以缓存配置。
让我们以你API_DOMAIN
的为例:
.env 文件
API_DOMAIN=www.mydomain.com
配置文件
config/api.php
例如
<?php
return [
'domain' => env('API_DOMAIN'),
];
现在您可以使用配置助手在您的应用程序中使用此变量:
$value = config('api.domain');
您永远不应该env()
在配置文件之外使用帮助程序,因为当您缓存配置时,env()
将返回null
.
于 2020-05-11T13:29:20.397 回答
1
在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
于 2020-05-11T13:36:35.873 回答