項目在本地開發過程中拋出異常:
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)