首頁 > 後端開發 > php教程 > 如何解決Laravel的throttle中間件失效的問題

如何解決Laravel的throttle中間件失效的問題

不言
發布: 2023-04-01 06:08:01
原創
1985 人瀏覽過

這篇文章主要介紹了Laravel的throttle中間件失效問題解決方法,簡單分析了throttle中間件失效問題的原因並提出了解決方案,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了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中間件也起作用了。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

如何解決PHP mkdir()無寫權限的問題

以上是如何解決Laravel的throttle中間件失效的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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