Heim  >  Artikel  >  php教程  >  Lösung für das Problem mit dem Drossel-Middleware-Fehler von Laravel

Lösung für das Problem mit dem Drossel-Middleware-Fehler von Laravel

高洛峰
高洛峰Original
2016-12-27 11:46:351727Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie das Problem des Drossel-Middleware-Fehlers von Laravel gelöst werden kann. Teilen Sie es allen als Referenz mit. Die Einzelheiten lauten wie folgt:

Laut der offiziellen Erklärung ist es sehr einfach, eine Beschränkung der Zugriffshäufigkeit zu implementieren:

Route::get('test', function(){
  return 'helle world' ;
})->middleware('throttle');

Es ist wahr. Auf diese Weise speichert der Cache die Anzahl der Zugriffe und trifft eine Beurteilung.

Ich habe zuvor zizaco/entrust (ein rollenbasiertes Berechtigungsverwaltungspaket) verwendet, in dem ich CACHE_DRIVER=file in .env in CACHE_DRIVER=array geändert habe. Das Problem entsteht also. Laravel unterstützt mehrere Cache-Treiber, einschließlich File, Array, Db, Redis usw., aber die Drosselung scheint nur bei Verwendung von Dateityp-Treibern wirksam zu sein.

Meine Änderungen sind wie folgt:

vendor/illuminate/cache/RateLimiter.php-Datei

public function __construct(Cache $cache)
{
    $this->cache = $cache;
}
public function __construct()
{
    $this->cache = app('cache')->driver('file');
}

Put das obige einfach wie folgt ändern. Die Throttle-Middleware funktioniert auch.

Weitere Artikel zu Lösungen für das Problem mit dem Drossel-Middleware-Fehler von Laravel finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn