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:cache
和 php 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
字符串。
以防万一有人在生产中遇到这个问题,这些是对我有用的步骤:
- 确保 .env 文件指定应用程序正在生产中。
APP_ENV=production
- 运行
php artisan optimize:clear
当尝试从 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:cache
和 php 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
字符串。
以防万一有人在生产中遇到这个问题,这些是对我有用的步骤:
- 确保 .env 文件指定应用程序正在生产中。
APP_ENV=production
- 运行
php artisan optimize:clear