>  기사  >  PHP 프레임워크  >  Laravel의 SQL 디버그 팁

Laravel의 SQL 디버그 팁

Guanhui
Guanhui앞으로
2020-06-12 17:56:193126검색

Laravel의 SQL 디버그 팁

어떤 이유로 인해 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제