实例化Redis类传配置参数触发phpredis参数计数错误求助
问题解决:Redis::__construct() 不接受参数的报错处理
问题根源
你使用的phpredis 5.3.7版本不支持通过构造函数传入配置数组的写法,该特性是phpredis 6.0.0及更高版本才新增的,所以会触发ArgumentCountError参数数量错误。
解决方案
方案1:升级phpredis到6.0.0及以上版本
升级后你的原有代码即可正常运行,新版本已完全支持构造函数接收配置数组的初始化方式。
方案2:不升级,改用传统连接方式
无参实例化Redis后,通过分步调用方法完成连接、认证和选项配置:
$redis = new Redis(); // 设置退避策略选项 $redis->setOption(Redis::OPT_BACKOFF_ALGORITHM, Redis::BACKOFF_ALGORITHM_DECORRELATED_JITTER); $redis->setOption(Redis::OPT_BACKOFF_BASE, 500); $redis->setOption(Redis::OPT_BACKOFF_CAP, 750); // 建立连接(包含超时和SSL验证配置) $redis->connect( '127.0.0.1', 6379, 2.5, null, 0, 0, ['verify_peer' => false] ); // 执行认证 $redis->auth('password');
如果需要持久化连接,可将connect替换为pconnect方法,参数一致。
内容的提问来源于stack exchange,提问作者Acidon
相关产品推荐
相关产品推荐

