phpredis 报错 “Function Redis::setTimeout() is deprecated” 解决方法

项目在本地开发过程中抛出异常:

Function Redis::setTimeout() is deprecated

找到出错代码:

<?php
use Illuminate\Support\Facades\Redis;
...
Redis::setTimeout($key, $timeout);

项目使用的 phpredis 扩展来操作 redis,phpredis 5.0 版后弃用了非 redis 标准命令的方法(https://pecl.php.net/package-changelog.php?package=redis&release=5.0.0RC1)。比如 phpredis 原来的 delete 方法由 del 替代,settimeout 方法由 expire 替代。概括一点:phpredis 方法名使用 redis 标准命令名就总是对的。

解决代码:

<?php
use Illuminate\Support\Facades\Redis;
...
Redis::EXPIRE($key, $timeout);

详细的弃用与替代方法名在参考链接中的文章里。

参考链接:

Function Redis::delete() is deprecated 的解决方法(https://blog.csdn.net/xchenhao/article/details/97251618

猜你喜欢

转载自www.cnblogs.com/imzhi/p/phpredis-settimeout-deprecated.html