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 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
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年前 评论

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