Laravel env('APP_URL') 没有为 localhost 返回正确的值

Laravel env('APP_URL') is not returning the correct value for localhost

当尝试从 Laravel 配置中检索 APP_URL 时,它 returns 错误 URL 仅用于开发。

我的 env 文件包含以下内容:

APP_URL=http://127.0.0.1:9000

然而,当我调用 env('APP_URL') 它时 returns 我:

'http://localhost'

这不适用于我当前的 docker 设置,它必须是 127.0.0.1:9000

在我的 config/app.php 文件中,我有以下内容:

'url' => env('APP_URL')

我已经尝试了 php artisan config:cachephp artisan config:clear 但我仍然得到与 http://localhost

相同的结果

除了 .env 或 config/app.php?

之外,关于它可以从哪里获得 http://localhost 的任何想法

认为使用 config('app.url') 也值得注意 returns http://localhost

"localhost" 可能是默认值。您的错误表明根本没有读取 .env 文件。确保您没有在编辑 .example.env,检查是否可以访问其他 env 变量,检查拼写错误,检查 .env 上的文件权限以及它是否位于项目的根文件夹中。

我发现加载 .env 文件时有一个未记录的特性。如果你的项目文件夹中有一个 .env.dev 文件,如果你的应用程序处于开发模式,它将加载此配置覆盖其他所有内容。据记载, .env.testing 用于测试,这是有道理的,但它也适用于 .env.dev

的开发

我正在处理的应用程序有一个 .env.dev,正是这个文件里面有 http://localhost 字符串。

以防万一有人在生产中遇到这个问题,这些是对我有用的步骤:

  1. 确保 .env 文件指定应用程序正在生产中。 APP_ENV=production
  2. 运行 php artisan optimize:clear