Laravel - 访问 .env 变量

11 浏览
0 Comments

Laravel - 访问 .env 变量

我试图从根目录的.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

我该如何访问它?

0
0 Comments

Laravel - 访问.env变量

在Laravel中,我们可以使用env('ENVKEY')来访问.env文件中的变量。但是有时候我们可能会遇到无法访问到这些变量的问题,这可能是因为缓存的原因。

为了解决这个问题,我们可以执行以下命令来清除缓存:

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

如果想要了解更多信息,可以查看官方文档:doc

需要注意的是,应用程序缓存不会影响环境变量,只会影响配置缓存。

有时候即使执行了上述步骤,仍然无法正常工作。这可能因为其他原因导致,你可以查看这个stackoverflow.com/questions/43040967/…链接了解更多相关信息。

总之,如果你遇到了无法访问.env变量的问题,可以尝试执行上述命令来清除缓存。

0
0 Comments

Laravel - 访问.env变量

在Laravel中,应避免在配置文件之外使用环境变量。你可以在配置文件中使用环境变量,例如在config/app.php中:

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

然后你可以使用config助手来访问它:`config('app.env')`。

这样可以使你的配置文件被缓存,仍然可以访问这些值,因为一旦你的配置被缓存,`env('APP_ENV')`将不再起作用。

正如文档中所提到的:

> "如果你在部署过程中执行了`config:cache`命令,你应该确保只在配置文件中调用`env`函数。一旦配置被缓存,`.env`文件将不会被加载,所有对`env`函数的调用将返回`null`。"

你可以设置`'production'`以外的其他值吗?比如`'OTHER_ENV_VAR'`?

我不清楚为什么你不能嵌套使用env函数:`env('APP_ENV', env('OTHER_ENV_VAR', 'ultimate_default'))`。

0
0 Comments

在Laravel中,我们可以使用.env文件来存储应用程序的配置变量。然而,有时候在访问这些变量时会遇到问题。下面我们来看一下问题的原因以及解决方法。

问题的原因:

在上述代码中,我们尝试访问.env文件中的'app.name'变量,但是可能会遇到无法访问到该变量的问题。

解决方法:

1. 检查.env文件是否存在并且是否包含'app.name'变量。确保.env文件位于项目的根目录下,并且包含正确的配置变量。

2. 在访问.env变量之前,确保已经加载了.env文件。可以在项目的根目录下运行以下命令来加载.env文件:php artisan config:cache

3. 在访问.env变量之前,确保已经运行了composer dump-autoload命令来重新生成自动加载文件。

通过以上解决方法,我们可以解决在Laravel中访问.env变量时可能遇到的问题。请确保.env文件存在且包含正确的配置变量,然后加载该文件并重新生成自动加载文件。这样,我们就可以成功访问.env变量了。

0