Laravel访问.env变量

时间:2018-08-23 13:37:06

标签: laravel laravel-5 environment-variables

我尝试使用根目录下的.env获取环境变量

Route::get('/test', function () {
    return "value is". getenv('APP_ENV');
});

Route::get('/test', function () {
    return "it is". env('APP_ENV');
});

它在.env中

APP_NAME=Laravel
APP_ENV=local

我如何获得它?

7 个答案:

答案 0 :(得分:3)

使用Laravel,您应该避免配置文件之外的环境变量。

在配置文件中,您可以使用环境变量,例如config / app.php中的示例:

'env' => env('APP_ENV', 'production'),

然后,您可以使用配置帮助器config('app.env')来访问它。

这使您可以缓存配置并仍然访问这些值,因为env('APP_ENV') 一旦配置被缓存,将不再起作用

答案 1 :(得分:2)

Route::get('/test', function () {
    return "it is".config('app.name');
});

答案 2 :(得分:1)

laravel为此类任务提供了全局帮助器功能

$val = config('app.something');

您还可以使用以下方法设置新值

config(['app.something' => 'cat']);

reference

对于您的特定任务将是

$val = config('app.env');

或确定全局环境

$environment = App::environment();

我希望这对您有帮助!

答案 3 :(得分:1)

echo App :: environment()

请尝试

答案 4 :(得分:0)

根据Environment Configuration上的Laravel文档,

  

此文件中列出的所有变量将被加载到$ _ENV中   当您的应用程序接收到请求时,PHP为超级全局。您可以使用   环境助手从这些变量中检索值。

因此,可以通过

来访问变量
$_ENV['envKey'];

答案 5 :(得分:0)

使用env('ENVKEY') 不要忘记在某些时候清除由于缓存而引起的缓存。

php artisan config:clear php artisan cache:clear composer dump-autoload

有关更多信息,请查看doc

答案 6 :(得分:0)

只需在cmd中运行此命令即可。

  

php artisan config:cache

然后

  

php artisan config:clear

然后

  

php artisan cache:clear