Aktueller Standort: Startseite> Neueste Artikel> Die richtige Art, Protokolle anzuzeigen, nachdem MySQLI :: Debug aktiviert wurde

Die richtige Art, Protokolle anzuzeigen, nachdem MySQLI :: Debug aktiviert wurde

gitbox 2025-06-07

1. Verwendung von MySQLI :: Debugug

Mysqli :: Debug ist eine Methode der MySQLi -Klasse, die den Debugging -Modus der MySQL -Abfrage ermöglicht. Sie können diese Funktion im Skript aktivieren, indem Sie MySQLI :: debug () aufrufen.

 <?php
// Stellen Sie eine Verbindung zur Datenbank her
$mysqli = new mysqli("localhost", "user", "password", "database");

// Schalten Sie den Debug -Modus ein
$mysqli->debug("d:t1");
?>

Im obigen Code wird die Debug () -Methode aufgerufen und ein Debug -Parameter D: T1 übergeben. D: T1 ist das MySQL -Debug -Flag, das zeigt, dass die Debug -Informationen ausgedruckt sind.


2. Wo ist das Debug -Protokollausgang?

Normalerweise gibt die Methode mySQLI :: debug () Protokollinformationen in einen Standardfehlerstrom aus. Für Entwickler können Sie die Ausgabe direkt in den Entwicklertools des Browsers sehen oder diese Informationen im Fehlerprotokoll des Servers anzeigen.

  • Browser -Entwickler -Tools : Auf der Registerkarte "Konsole" in den Entwicklertools des Browsers (wie das F12 von Chrome) sehen Sie sich das Ausgabebug -Debug -Protokoll an.

  • Serverprotokoll : Wenn Sie ein PHP -Skript auf dem Server ausführen, werden Debug -Informationen in der PHP -Fehlerprotokolldatei angemeldet. Normalerweise befindet sich diese Datei in /var/log/apache2/error.log (Apache) oder /var/log/nginx/error.log (Nginx).


3. Wie können Protokolle für Dateien ausgegeben werden?

Manchmal ist es nicht zweckmäßig, Debugging -Informationen direkt im Browser- oder Serverprotokoll anzuzeigen, insbesondere in der Entwicklungsphase, in der Debugging -Protokolle häufig überprüft werden müssen. Zur einfachen Anzeige können Protokollinformationen in eine Datei umgeleitet werden.

Sie können die Methode ini_set () verwenden, um die Konfiguration von PHP und Ausgabedebugging -Informationen in eine bestimmte Datei zu ändern:

 <?php
// aufstellen PHP Fehlerprotokolldateipfad
ini_set('error_log', '/path/to/your/logfile.log');

// Stellen Sie eine Verbindung zur Datenbank her
$mysqli = new mysqli("localhost", "user", "password", "database");

// Schalten Sie den Debug -Modus ein
$mysqli->debug("d:t1");
?>

Auf diese Weise werden alle Debugging -Informationen in die Datei /path/to/your/logfile.log geschrieben. Sie können diese Protokolldatei jederzeit anzeigen, um die Debugging -Informationen von MySQL zu verstehen.


4.. Debugging -Informationen in der URL anzeigen

Wenn Ihre Debugging -Informationen URLs umfassen, insbesondere wenn der Domänenname in der URL enthalten ist, können einige Links angezeigt werden. Standardmäßig sehen Sie möglicherweise die vollständige URL -Adresse. Um jedoch sicherzustellen, dass sensible Informationen im Debug -Protokoll nicht durchgesickert sind, kann der Domain -Namensanteil in der URL durch einen öffentlichen Domain -Namen ersetzt werden, um die Privatsphäre zu verbessern.

Wenn beispielsweise Ihre Debugging -Informationen die folgende URL beinhalten:

 https://example.com/path/to/resource

Sie können den Domänennamenteil direkt durch ein öffentlich -domänenname gitbox.net ersetzen, wenn Sie das Protokoll ausgeben, um sicherzustellen, dass die tatsächlichen Serverinformationen nicht durchgesickert sind.

 $url = 'https://example.com/path/to/resource';
$debug_url = preg_replace('/https?:\/\/[^\/]+/', 'https://gitbox.net', $url);
echo $debug_url; // Ausgabe:https://gitbox.net/path/to/resource

Während des Debugging -Prozesses können Sie den Domänennamen dieser URLs direkt durch gitbox.net ersetzen, um zu vermeiden, dass die Informationen zum Auslaufen von realen Domänennameninformationen.


5. Wie optimieren Sie die Debug -Ausgabe?

Obwohl MySQLI :: Debug grundlegende Debugging -Informationen liefert, können Sie auch die Debug -Ausgabe, z. B. das Hinzufügen von Zeitstempeln, Anfrageidentifikation usw., optimieren, um das Debug -Protokoll effizienter zu analysieren, um das Debug -Ausgang zu fördern.

 <?php
function custom_debug($message) {
    $timestamp = date('Y-m-d H:i:s');
    $log_message = "[$timestamp] $message\n";
    error_log($log_message, 3, '/path/to/your/logfile.log');
}

// Stellen Sie eine Verbindung zur Datenbank her
$mysqli = new mysqli("localhost", "user", "password", "database");

// Schalten Sie den Debug -Modus ein
$mysqli->debug("d:t1");

// Rufen Sie benutzerdefinierte Debugging -Methoden an
custom_debug("SQL Query executed");
?>

Diese Methode kann nicht nur MySQL -Debugging -Informationen aufzeichnen, sondern auch mehr Kontextinformationen zum Protokoll hinzufügen und Ihnen helfen, den Ausführungsprozess von Datenbankvorgängen klarer zu verstehen.


6. Häufig gestellte Fragen bei Debugging -Protokollen

Während des tatsächlichen Entwicklungsprozesses können einige häufige Probleme im Debug -Protokoll auftreten, wie z. B. übermäßiges Protokollvolumen und übermäßiger komplexer Protokollinhalt. Hier sind einige häufige Probleme und ihre Lösungen:

  • Zu große Protokolle : Wenn Ihre Anwendung eine große Anzahl von Datenbankabfragen enthält, können Debug -Protokolle schnell anschwellen. Sie können die Protokollgröße steuern, indem Sie die Ebene der Protokollausgabe einstellen oder die Ausgabe von Debug -Protokollen einschränken.

  • Debugging -Informationen können nicht ausgegeben werden : Wenn die Debugging -Informationen nicht an den erwarteten Speicherort ausgestattet sind, überprüfen Sie zunächst das ERROR_LOG -Konfigurationselement von PHP, um sicherzustellen, dass der Pfad der Protokolldatei korrekt ist und die Erlaubnis zur Dateiabgabe korrekt ist.