我正在将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
。