Laravel访问.env变量

LeB*_*eau 3 environment-variables laravel laravel-5

我试图从根目录中的.env获取环境变量

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

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

它在.env中

APP_NAME=Laravel
APP_ENV=local
Run Code Online (Sandbox Code Playgroud)

我如何获得它?

小智 8

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


use*_*472 7

使用 env('ENVKEY') 不要忘记清除缓存,因为缓存有时会导致缓存。

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

有关更多信息,请查看文档


Dev*_*von 6

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

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

'env' => env('APP_ENV', 'production'),
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用config helper访问此功能config('app.env')

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