Position actuelle: Accueil> Derniers articles> Instructions de configuration avancées pour mysqli :: débogage

Instructions de configuration avancées pour mysqli :: débogage

M66 2025-06-01

MySqli :: Debug () est un outil de débogage relativement inutile mais très puissant en PHP. Il permet aux développeurs d'activer la fonction de débogage de l'extension MySQLI sous-jacente, analysant ainsi les détails dans les connexions, l'exécution de la requête, etc. Après PHP 8.1, la prise en charge des paramètres de MySQLI :: Debug () est plus flexible, en particulier les options de trace , qui fournit aux développeurs des capacités de personnalisation plus fortes.

Cet article introduira la façon d'utiliser et la configuration avancée des options de trace MySQLI :: Debug () et combinez quelques exemples pour vous aider à mieux comprendre son objectif.

Qu'est-ce que MySqli :: Debug () ?

MySQLI :: Debug () est une méthode utilisée pour activer la sortie Debug, c'est en fait une version orientée objet de la fonction mysqli_debug () . Il accepte un paramètre de chaîne qui spécifie les options de débogage.

grammaire:

 mysqli::debug(string $options): bool

Parmi eux, $ Options est l'objectif sur lequel nous voulons nous concentrer - un ensemble de paramètres de débogage séparés par des virgules, tels que:

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

Explication détaillée des paramètres

Dans les chaînes de débogage, plusieurs options communes incluent:

  • débogage dénommé

  • Trace tenable (trace)

  • o, <Fichier> Écrire la sortie de débogage dans le fichier spécifié

  • I, <Fichier> Lire la configuration à partir du fichier spécifié

  • F Call de fonction d'enregistrement

  • A enregistre tous les appels (plus verbeux)

  • N Afficher le contenu de la communication réseau

Vous pouvez combiner ces options pour permettre une surveillance détaillée de l'exécution de MySQLI.

Exemple: enregistrer les informations de débogage pour déposer

Supposons que vous souhaitiez enregistrer les informations de débogage dans le répertoire / TMP du serveur:

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

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

if ($mysqli->connect_error) {
    die("Échec de la connexion: " . $mysqli->connect_error);
}

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

$mysqli->close();
?>

Cette configuration sera:

  • Activer le débogage ( D )

  • Activer la fonction de suivi ( T )

  • Enregistrez la sortie sur /tmp/mysqli.trace.log

Options de trace avancées Compétences pratiques

1. Enregistrer la pile d'appels de fonction détaillée

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

Lorsque le paramètre F est activé, le journal contient une pile d'appels pour chaque fonction MySQLI, ce qui est particulièrement utile pour analyser les goulots d'étranglement des performances.

2. Les fichiers de débogage proviennent de la configuration

Vous pouvez définir à l'avance les paramètres de débogage en lisant le fichier de configuration:

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

Cela évite le codage dur, augmente la flexibilité et convient aux grands projets ou aux environnements de déploiement de débogage.

3. Suivez les paquets de réseau (utilisez avec prudence)

Si vous pensez qu'il y a quelque chose qui ne va pas avec la communication entre le client et le serveur, vous pouvez activer N :

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

Veuillez noter: Les journaux générés par cette option peuvent contenir des données sensibles et doivent être strictement protégés.

Afficher la sortie de débogage

Une fois le journal de débogage généré, vous pouvez le visualiser via la commande suivante:

 tail -f /tmp/mysqli.trace.log

Lorsque vous utilisez dans des environnements de production, il est recommandé de remplacer le chemin du fichier de journal par un répertoire de journal dédié et de définir les autorisations appropriées.

Utiliser l'extension: en conjonction avec le suivi Web

Combiné avec des URL front-end, vous pouvez même associer des journaux à ID de trace, tels que:

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

De cette façon, vous pouvez obtenir des liens de suivi dans les outils du développeur du navigateur et localiser rapidement les problèmes.

Résumer

Les options de trace de MySQLI :: Debug () offrent aux développeurs des méthodes de débogage puissantes. En configurant raisonnablement la chaîne de trace, vous pouvez réaliser:

  • Analyse des appels de fonction

  • Débogage du réseau

  • Gestion des journaux centralisés

  • Combiné avec l'évolutivité des fichiers de configuration

Pendant la phase de développement et de test, faire bon usage de ces options de trace permetra non seulement beaucoup de temps de dépannage, mais vous aidera également à comprendre plus profondément le mécanisme d'interaction entre PHP et MySQL.