이 기사의 예에서는 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'); }
Put 위의 내용을 다음과 같이 변경하면 됩니다. 스로틀 미들웨어도 작동합니다.
Laravel의 스로틀 미들웨어 오류 문제 해결과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!