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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM