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

Laravel after upgrade, .env variable Undefined index

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

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

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

让我们以您的 API_DOMAIN 为例:

.env 文件

API_DOMAIN=www.mydomain.com

配置文件

config/api.php 例如

<?php

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

现在您可以使用 config helper 在您的应用程序中使用此变量:

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

你不应该在配置文件之外使用 env() 助手,因为当你缓存你的配置时,env() 将 return null.

运行 在 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