laravel Job任务中调用Redis发生read error on connection的错误
问题描述
在docker的php-apache容器中运行laravel的job任务中调用redis发生read error on connection的错误。
php artisan queue:work # 运行job
# 任务中调用redis发生错误
# Job 调用Redis的代码
Redis::set('test', 1); // 这句能set到值到redis,但是接着就发生read error on connection的错误了
Redis::expire('test', 2 * 24 * 60 * 60); // 前面报错结束任务了,不会执行该代码
报错信息
个人尝试
- 参考的一些解决方案,但也无法解决
- 设置php.ini,default_socket_timeout = -1
- 切换Redis Client,phpredis 更换为 predis
- 配置database.php,增加timeout=0参数
请问各位大佬,这个问题该如何解决
后来在控制器中调用Redis也出现这种问题了,之前的解决办法总不能一直这样用,尝试了重装容器环境,从而解决了。
从
php:apache-buster
换成php:fpm
得以解决