Laravel 5.8 升级 8.75的ENV缓存问题

在升级了版本后发现cache的env配置不正确,查看后发现不缓存.env文件中的配置,却缓存了.env.local中的配置

1 .env文件

APP_ENV=local
REDIS_CLIENT=phpredis
REDIS_PREFIX=
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

2 .env.local文件

APP_ENV=local
REDIS_CLIENT=phpredis
REDIS_PREFIX=
REDIS_HOST=123.123.123.123
REDIS_PASSWORD=null
REDIS_PORT=6379

3 错误日志

[2022-06-30 16:43:19] local.ERROR: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
 {"exception":"[object] (RedisException(code: 0): 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
 at D:\\projects\\blog\\vendor\\laravel\\framework\\src\\Illuminate\\Redis\\Connectors\\PhpRedisConnector.php:153)
[stacktrace]
#0 D:\\projects\\blog\\vendor\\laravel\\framework\\src\\Illuminate\\Redis\\Connectors\\PhpRedisConnector.php(153): Redis->connect('123.123.123.123', '6379', 0, NULL, 0, 0)

可见使用的是在.env.local 配置文件中的redis配置 , 但是执行command 的时候却是使用的.env

当我删除.local 后问题得到解决

把.local 中改成正确或者删掉并不是我的目的,主要是担心线上的配置会出现错乱,

cxxxx
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
porygonCN
最佳答案

坏了 头像被偷了

1年前 评论
讨论数量: 9
porygonCN

坏了 头像被偷了

1年前 评论
porygonCN

你应该在生产环境将APP_ENV设置为production

1年前 评论
cxxxx

你指的是在config/app.php 中的 'env' => env('APP_ENV', 'production'), 这个吗 @

1年前 评论
chowjiawei

坏了 头像被偷了

1年前 评论
Mutoulee

服务器环境是啥??? 我的Homestead就出现过这种问题,原因是Homestead我设置了个全局变量,吧APP_ENV给定死了 :smile:

1年前 评论
cxxxx

windows 本地环境 哈哈 @

1年前 评论

我只是升级到了6.0 还没想着升级到8呢。你这升级够猛

1年前 评论
cxxxx

laravel 支持Redis 集群好像是8以上才可以 @mowan

1年前 评论

检查 .env 文件内的APP_ENV=local 还是 production

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!