이 글은 주로 Laravel의 스로틀 미들웨어 실패 문제에 대한 해결책을 소개합니다. 스로틀 미들웨어 실패 문제의 원인을 간략하게 분석하고 해결책이 필요한 친구들이 참고할 수 있습니다. 예제 Laravel의 throttle 미들웨어의 실패 문제에 대한 솔루션입니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
공식 설명에 따르면 액세스 빈도 제한을 구현하는 것은 매우 간단합니다.
Route::get('test', function(){ return 'helle world' ; })->middleware('throttle');
캐시는 실제로 숫자를 저장합니다. 접근하여 판단합니다.
저는 이전에 zizaco/entrust(역할 기반 권한 관리 패키지)를 사용했는데, .env의 CACHE_DRIVER=file을 CACHE_DRIVER=array로 변경했습니다. 그래서 문제가 발생합니다. 라라벨은 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'); }
위 내용을 다음과 같이 변경하면 됩니다. 스로틀 미들웨어도 작동합니다.
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
PHP mkdir() 쓰기 권한 없음 문제를 해결하는 방법위 내용은 Laravel의 스로틀 미들웨어 오류 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!