项目在本地开发过程中抛出异常:
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)