Heim > PHP-Framework > Laravel > Hauptteil

SQL-Debug-Tipps in Laravel

Guanhui
Freigeben: 2020-06-12 17:56:19
nach vorne
3137 Leute haben es durchsucht

SQL-Debug-Tipps in Laravel

Aus bestimmten Gründen können Sie Laravel DebugBar nicht verwenden. Dieser Artikel kann Ihnen helfen.

Die Optimierung von Laravel-Anwendungen geht weit über die Beseitigung des N+1-Problems hinaus. Die ordnungsgemäße Verwendung von Laravel DebugBar kann sinnvolle Lösungen für Probleme wie die Modellspeichernutzung und die Aktualität von SQL-Abfragen bieten.

Vielleicht möchten Sie Laravel DebugBar nicht verwenden oder können es aus bestimmten Gründen nicht verwenden (z. B. schnittstellenbasierte Anwendungsentwicklung). Dann ist der Datenbank-Listener eine gute Methode SQL-Abfrage zum Protokollieren.

Dies gilt auch in Produktionsumgebungen und Testumgebungen. Sie können einfach steuern, ob es über env oder config aktiviert ist.

Verwendung:

Fügen Sie dies zur Startmethode Ihres AppServiceProviders hinzu

 if (env("SQL_DEBUG_LOG"))
    {
        DB::listen(function ($query) {
            Log::debug("DB: " . $query->sql . "[".  implode(",",$query->bindings). "]");
        });
    }
Nach dem Login kopieren

Wenn Sie es in einer Produktionsumgebung verwenden, empfehle ich Ihnen, es in die Konfiguration einzufügen die Konfigurationsinformationen in env, und dann können (und sollten) Sie diese Konfigurationsinformationen zwischenspeichern

Ich habe ein weiteres Problem festgestellt, das darin besteht, dass, wenn der SQL-Aufruf selbst fehlschlägt, eine Ausnahme ausgelöst wird und vor dem Erfolg abgehört wird Der Aufruf DB::listen protokolliert nicht und die Ausnahme tritt auf, bevor er zum Listener zurückkehrt.

Empfohlene Tutorials: „PHP-Tutorial“ „Laravel-Tutorial

Das obige ist der detaillierte Inhalt vonSQL-Debug-Tipps in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage