0

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

4

3 回答 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 回答