Aktueller Standort: Startseite> Neueste Artikel> Erweiterte Konfigurationsanweisungen für MySQLI :: Debugg

Erweiterte Konfigurationsanweisungen für MySQLI :: Debugg

M66 2025-06-01

MySQLI :: Debug () ist ein relativ nutzloses, aber sehr starkes Debugging -Tool in PHP. Es ermöglicht Entwicklern, die Debugging -Funktion der zugrunde liegenden MySQLI -Erweiterung zu ermöglichen und damit Details in Verbindungen, Abfrageausführung usw. zu analysieren. Nach Php 8.1 ist die Parameterunterstützung von MySQLI :: Debugug () flexibler, insbesondere die Spurenoptionen , die Entwicklern stärkere Anpassungsfähigkeiten bieten.

In diesem Artikel wird die Konfiguration von MySQLI :: Debug () Trace -Optionen verwendet und erweitert und einige Beispiele kombiniert, um den Zweck besser zu verstehen.

Was ist MySQLI :: Debug () ?

Mysqli :: debug () ist eine Methode, mit der Debug-Ausgabe aktiviert wurde. Es handelt sich tatsächlich um eine objektorientierte Version der Funktion mySQLI_Debug () . Es akzeptiert einen String -Parameter, der Debugging -Optionen angibt.

Grammatik:

 mysqli::debug(string $options): bool

Unter ihnen ist $ option im Mittelpunkt, auf das wir uns konzentrieren möchten - eine Reihe von von Kommas getrennten Debug -Einstellungen, wie z. B.:

 mysqli::debug("d:t:o,/tmp/client.trace")

Detaillierte Erläuterung der Parameter

Zu den Debug -Zeichenfolgen gehören mehrere gängige Optionen:

  • Debugging lenken

  • Haltbare Spur (Spur)

  • o, <Datei> Schreiben Sie die Debug -Ausgabe in die angegebene Datei

  • I, <Datei> Konfiguration aus der angegebenen Datei lesen

  • F Datensatzfunktionsaufruf

  • A Aufzeichnungen Alle Anrufe (mehr ausführlicher)

  • n Zeigen Sie Inhalte für Netzwerkkommunikation

Sie können diese Optionen kombinieren, um eine detaillierte Überwachung der MySQLI -Ausführung zu ermöglichen.

Beispiel: Debug -Informationen zu Datei aufnehmen

Angenommen, Sie möchten Debug -Informationen auf das /TMP -Verzeichnis des Servers protokollieren:

 <?php
mysqli::debug("d:t:o,/tmp/mysqli.trace.log");

$mysqli = new mysqli("localhost", "user", "password", "database");

if ($mysqli->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $mysqli->connect_error);
}

$result = $mysqli->query("SELECT * FROM users");
while ($row = $result->fetch_assoc()) {
    print_r($row);
}

$mysqli->close();
?>

Diese Konfiguration wird:

  • Aktivieren Sie Debugging ( D )

  • Aktivieren Sie die Tracking -Funktion ( t )

  • Speichern Sie die Ausgabe auf /tmp/mysqli.trace.log

Erweiterte Trace -Optionen praktische Fähigkeiten

1. Detaillierter Funktionsaufrufstack aufzeichnen

 mysqli::debug("d:t:F:o,/tmp/trace_func.log");

Wenn der F -Parameter aktiviert ist, enthält das Protokoll für jede MySQLI -Funktion einen Aufrufstapel, der insbesondere für die Analyse von Leistungs Engpässen nützlich ist.

2. Die Debug -Dateien stammen aus der Konfiguration

Sie können Debug -Parameter im Voraus festlegen, indem Sie die Konfigurationsdatei lesen:

 // config.txt Inhalt:d:t:o,/tmp/from_config.log
mysqli::debug("i,/var/www/html/config.txt");

Dies vermeidet harte Codierung, erhöht die Flexibilität und eignet sich für große Projekte oder Debugg -Bereitstellungsumgebungen.

3.. Verfolgung von Netzwerkpaketen (mit Vorsicht verwendet)

Wenn Sie vermuten, dass mit der Kommunikation zwischen dem Client und dem Server etwas nicht stimmt, können Sie N aktivieren:

 mysqli::debug("d:t:n:o,/tmp/net_debug.log");

Bitte beachten Sie: Die von dieser Option generierten Protokolle können sensible Daten enthalten und sollten streng geschützt sein.

Debug -Ausgabe anzeigen

Nachdem das Debug -Protokoll generiert wurde, können Sie es über den folgenden Befehl anzeigen:

 tail -f /tmp/mysqli.trace.log

Bei Verwendung in Produktionsumgebungen wird empfohlen, den Log -Dateipfad durch ein dediziertes Protokollverzeichnis zu ersetzen und die entsprechenden Berechtigungen festzulegen.

Verwenden Sie Erweiterung: In Verbindung mit der Webverfolgung

In Kombination mit Front-End-URLs können Sie sogar Protokolle mit Trace-ID in Verbindung bringen, z. B.:

 $traceId = uniqid("trace_", true);
mysqli::debug("d:t:o,/tmp/$traceId.log");
header("X-Debug-Trace: https://m66.net/debug/$traceId.log");

Auf diese Weise können Sie Verfolgung von Links in den Browser -Entwickler -Tools erhalten und schnell Probleme finden.

Zusammenfassen

Die Trace -Optionen von MySQLI :: Debug () bieten Entwicklern leistungsstarke Debugging -Methoden. Durch die Konfiguration der Trace -Zeichenfolge können Sie erreichen:

  • Funktionsaufrufanalyse

  • Netzwerkdebugging

  • Zentrales Protokollmanagement

  • Kombiniert mit der Skalierbarkeit von Konfigurationsdateien

Während der Entwicklungs- und Testphase sparen Sie diese Trace -Optionen, die diese Trace -Optionen nutzen, nicht nur eine Menge Fehlerbehebung, sondern hilft Ihnen auch, den Interaktionsmechanismus zwischen PHP und MySQL tiefer zu verstehen.