Laravelのスロットルミドルウェア障害問題の解決策

高洛峰
リリース: 2016-12-27 11:46:35
オリジナル
1786 人が閲覧しました

この記事の例では、Laravel のスロットルミドルウェアの障害の問題を解決する方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

公式の説明によると、アクセス頻度制限の実装は非常に簡単です:

Route::get('test', function(){
  return 'helle world' ;
})->middleware('throttle');
ログイン後にコピー

実際その通りで、キャッシュにはその数が保存されますアクセス数を調べて判断します。

以前は zizaco/entrust (ロールベースの権限管理パッケージ) を使用していましたが、その際に .env の CACHE_DRIVER=file を CACHE_DRIVER=array に変更しました。そこで問題が生じます。 Laravel は、File、Array、Db、Redis などのさまざまなキャッシュ ドライバーをサポートしていますが、スロットルはファイル タイプのドライバーを使用する場合にのみ有効であるようです。

私の変更は次のとおりです:

vendor/illuminate/cache/RateLimiter.php ファイル

public function __construct(Cache $cache)
{
    $this->cache = $cache;
}
public function __construct()
{
    $this->cache = app('cache')->driver('file');
}
ログイン後にコピー

上記を次のように変更するだけです。スロットルミドルウェアも機能します。

Laravel のスロットルミドルウェア障害問題の解決策に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート