首頁 > php教程 > PHP开发 > Laravel的throttle中間件失效問題解決方法

Laravel的throttle中間件失效問題解決方法

高洛峰
發布: 2016-12-27 11:46:35
原創
1819 人瀏覽過

本文實例講述了Laravel的throttle中間件失效問題解決方法。分享給大家供大家參考,如下:

依官方解釋,實現存取頻率限制非常簡單:

Route::get('test', function(){
  return 'helle world' ;
})->middleware('throttle');
登入後複製

   

也確實如此,cache儲存存取次數,做出判斷。

之前使用了zizaco/entrust(一個以角色為基礎的權限管理套件),其中把 .env 中的CACHE_DRIVER=file 改為 CACHE_DRIVER=array。所以問題出現了。 Laravel支援多種cache驅動,File, Array, Db, Redis等,但是throttle 好像使用File類型的驅動程式才有效。

我的修改如下:

vendor/illuminate/cache/RateLimiter.php 檔案

public function __construct(Cache $cache)
{
    $this->cache = $cache;
}
public function __construct()
{
    $this->cache = app('cache')->driver('file');
}
登入後複製

   

把上面的改為下面的就可以了。 throttle中間件也起作用了。

更多Laravel的throttle中間件失效問題解決方法相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板