《PHP学习:Laravel的throttle中间件失效问题解决方法》要点:
本文介绍了PHP学习:Laravel的throttle中间件失效问题解决方法,希望对您有用。如果有疑问,可以联系我们。
本文实例讲述了Laravel的throttle中间件失效问题解决方法.分享给大家供大家参考,具体如下:PHP实战
按官方解释,实现访问频率限制非常简单:PHP实战
Route::get('test', function(){ return 'helle world' ;})->middleware('throttle');
也确实如此,cache存储访问次数,做出判断.PHP实战
之前使用了zizaco/entrust(一个基于角色的权限管理包),其中把 .env 中的CACHE_DRIVER=file 改为了 CACHE_DRIVER=array.所以问题出现了.Laravel支持多种cache驱动,File, Array, Db, Redis等,但是throttle 好像使用File类型的驱动才有效.PHP实战
我的修改如下:PHP实战
vendor/illuminate/cache/RateLimiter.php 文件PHP实战
public function __construct(Cache $cache){ $this->cache = $cache;}public function __construct(){ $this->cache = app('cache')->driver('file');}
把上面的改为下面的就可以了.throttle中间件也起作用了.PHP实战
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。