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
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
porygonCN
最佳答案

坏了 头像被偷了

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

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

1年前 评论
porygonCN

坏了 头像被偷了

1年前 评论
porygonCN

你应该在生产环境将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年前 评论

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