この記事では、Laravel のスロットル ミドルウェア障害の問題の解決策を主に紹介し、スロットル ミドルウェア障害の問題の原因を簡単に分析し、解決策を提案します。必要な友人は参考にしてください。 #この記事の例では、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'); }
上記を変更します次のようにしてください。スロットルミドルウェアも機能します。
上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
PHP mkdir() に書き込み権限がない問題を解決する方法
以上がLaravelのスロットルミドルウェア障害の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。