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

Laravel의 SQL 디버그 팁

Guanhui
풀어 주다: 2020-06-12 17:56:19
앞으로
3184명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿