어떤 이유로 인해 Laravel DebugBar를 사용할 수 없습니다. 이 문서가 도움이 될 수 있습니다.
Laravel 애플리케이션을 최적화하는 것은 단순히 N+1 문제를 제거하는 것 이상입니다. Laravel DebugBar를 올바르게 사용하면 모델 메모리 사용 및 SQL 쿼리 적시성과 같은 문제에 대한 합리적인 솔루션을 제공할 수 있습니다.
Laravel DebugBar를 사용하는 것을 좋아하지 않거나 어떤 이유로(인터페이스 기반 애플리케이션 개발 등) 이유로 사용할 수 없다면 Database Listener가 좋은 방법이 될 것입니다. 이는 SQL 쿼리를 기록합니다. 로그에.
이는 프로덕션 환경 및 테스트 환경에도 적용 가능하며 env 또는 config를 통해 활성화 여부를 쉽게 제어할 수 있습니다.
사용 방법:
AppServiceProvider의 시작 방법에 이것을 추가하세요
if (env("SQL_DEBUG_LOG")) { DB::listen(function ($query) { Log::debug("DB: " . $query->sql . "[". implode(",",$query->bindings). "]"); }); }
프로덕션 환경에서 사용하는 경우 config의 구성 정보를 env에 넣은 다음 캐시할 수 있습니다(그리고 그래야 합니다). 이 구성 정보
제가 발견한 또 다른 문제점은 sql 호출 자체가 실패하면 예외가 발생한다는 것입니다. 성공적인 호출::listen 이전에 수신한 DB는 기록되지 않고 반환되기 전에 예외가 발생합니다. 청취.
추천 튜토리얼: "PHP Tutorial" "Laravel Tutorial"
위 내용은 Laravel의 SQL 디버그 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!