Maison  >  Article  >  php教程  >  Solution au problème de défaillance du middleware d'accélérateur de Laravel

Solution au problème de défaillance du middleware d'accélérateur de Laravel

高洛峰
高洛峰original
2016-12-27 11:46:351789parcourir

L'exemple de cet article décrit comment résoudre le problème de défaillance du middleware d'accélérateur de Laravel. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Selon l'explication officielle, il est très simple de mettre en œuvre une limite de fréquence d'accès :

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

C'est également vrai. De cette manière, le cache stocke le nombre d'accès et porte un jugement.

J'ai déjà utilisé zizaco/entrust (un package de gestion des autorisations basé sur les rôles), dans lequel j'ai changé CACHE_DRIVER=file in .env en CACHE_DRIVER=array. Le problème se pose donc. Laravel prend en charge plusieurs pilotes de cache, notamment File, Array, Db, Redis, etc., mais la limitation semble être efficace uniquement lors de l'utilisation de pilotes de type File.

Mes modifications sont les suivantes :

fichier vendor/illuminate/cache/RateLimiter.php

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

Put ce qui précède, remplacez-le simplement par ce qui suit. Le middleware d’accélérateur fonctionne également.

Pour plus d'articles sur les solutions au problème de défaillance du middleware d'accélérateur de Laravel, veuillez prêter attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn