Tutoriel d'utilisation détaillé de l'outil de débogage php Xdebug

小云云
Libérer: 2023-03-21 15:06:02
original
11160 Les gens l'ont consulté

xdebug est une extension php, adresse officielle : https://xdebug.org/index.php, utilisée pour aider les développeurs à déboguer le code. Cet article partage principalement avec vous le tutoriel détaillé d'utilisation de l'outil de débogage php Xdebug. la version 2.6 est Expliquons-le d'affilée, j'espère que cela pourra aider tout le monde.

Il a ces fonctions :

Remplacer l'invite d'erreur php :

Ajouter une correspondance de couleurs à l'invite pour mettre en valeur différentes informations
Impression de grandes variables :
Améliorer var_dump (), print_r() et d'autres fonctions d'impression sont très utiles lors de l'impression de variables volumineuses pour éviter les crashs
Protection maximale contre la récursion :
Vous pouvez définir une limite sur le nombre maximum de récursions pour éviter que PHP ne reste bloqué
Suivi des appels de fonction :
Peut retracer le processus d'appel de fonction, afficher les valeurs entrantes et renvoyées, l'utilisation de la mémoire, etc.
Analyse de la couverture du code :
Peut savoir quelles lignes ont été exécutées lors de l'exécution du code
Analyse du garbage collection :
Lorsque PHP effectue un garbage collection, il affiche des informations telles que les variables qui sont nettoyées et la quantité de mémoire libérée
Analyse des performances du code :
Vous pouvez voir le temps d'exécution de chaque partie du code et découvrez le goulot d'étranglement de l'efficacité de l'exécution du code
Débogage à distance :

Coopérer avec les outils IDE pour le débogage des points d'arrêt à distance, vous permettant de suivre l'exécution du code étape par étape, d'afficher ou définissez les valeurs de diverses variables en fonctionnement et évitez d'utiliser var_dump(), print_r(), etc. La fonction, qui est également la fonction la plus couramment utilisée de xdebug, est très puissante.

Installation :
L'environnement suivant est utilisé à titre d'illustration. Pour les autres environnements, veuillez suivre les instructions :
Système d'exploitation : Windows 10
Version php : php-7.1.13-nts (32 bits)
Télécharger : https://xdebug.org/download.php
Veuillez choisir la version appropriée en fonction de votre propre environnement (version php, si elle est thread-safe, largeur de bits, etc.). basé sur l'environnement précédent :
Version : Xdebug 2.6.0, PHP 7.1 VC14 (32 bits) Cette version est sortie le 29/01/2018
Mettez le fichier téléchargé php_xdebug-2.6.0-7.1-vc14- nts.dll dans le répertoire ext de php
Modifiez le fichier php.ini et ajoutez la configuration suivante :
zend_extension="php_xdebug-2.6.0-7.1-vc14-nts.dll"
Exécutez phpinfo( ). Si l'extension xdebug est affichée, l'installation est réussie, sinon, veuillez vérifier si vous avez sélectionné la bonne version
Une fois l'installation terminée, pour une utilisation réelle, vous devez effectuer des configurations spécifiques dans le php. ini en fonction de votre objectif. Voici les instructions courantes basées sur chaque fonction

Activer le message d'erreur en mode Xdebug :
Tant que l'extension xdebug est activée, cette fonction est activée par défaut et les erreurs sera affiché dans le style xdebug. Si vous souhaitez afficher dans le style php d'origine, vous pouvez le définir dans le fichier de configuration : xdebug .default_enable=0, notez que ce paramètre ne fait pas référence à la désactivation de toutes les fonctions de xdebug
Configurer l'affichage des grandes variables :
Dans certains programmes, les variables seront très volumineuses, comme les nœuds du célèbre système de gestion de contenu drupal8 Rendering array, si vous directement print_r, cela figera l'ordinateur I5 avec 8 Go de mémoire, Xdebug fournit donc une grande configuration d'impression variable pour éviter cette situation. Configurez les éléments de configuration suivants :
xdebug.var_display_max_children
integer, par défaut 128 , le nombre maximum de sous-éléments de tableau ou d'attributs d'objet affichés. S'il n'y a pas de limite, définissez-la sur -1. Elle ne sera pas affectée lors du débogage à distance
xdebug.var_display_max_data
Entier, par défaut 512, la longueur maximale de la chaîne affichée, non La limite est définie sur -. 1, qui n'affecte pas le débogage à distance
xdebug.var_display_max_degree
Entier, par défaut 3, la profondeur d'imbrication maximale lors de l'affichage des attributs d'un tableau ou d'un objet, le maximum est 1023, vous pouvez utiliser -1 pour faire référence à ce nombre maximum

Protection maximale contre la récursion :
Définissez les éléments de configuration suivants :
xdebug.max_nesting_level
Entier, la valeur par défaut est : 256, illimité défini sur -1, mécanisme de protection contre la récursion illimité, lorsque l'appel récursif atteint Le programme est interrompu lors du réglage de ce paramètre. Notez qu'aucun message d'erreur n'apparaîtra à ce moment, mais le programme sera quitté directement

Suivi des appels de fonction :
Y compris les appels de méthode objet, cette fonction est activée. désactivé par défaut. Une fois activé, exportez les données d'appel dans un fichier et affichez le fichier. La configuration est la suivante (la valeur ici est définie sur notre situation la plus couramment utilisée pour la copie et l'utilisation. Voir les instructions de configuration ci-dessous pour en savoir plus. ):
xdebug.auto_trace=1
;Activer le traçage, la valeur par défaut est désactivée
xdebug.trace_output_dir="C:rootxdebugtrace"
;Appeler le répertoire de sortie des données de traçage
xdebug.trace_output_name= "yunke.%s.%u"
;Trace Le nom du fichier
xdebug.collect_params=4
La forme des paramètres de la fonction de collecte
xdebug.collect_return=1
; S'il faut collecter la valeur de retour de la fonction
xdebug.show_mem_delta=1
; Afficher les détails de la mémoire
xdebug.trace_format=0
;Format du fichier de trace

Les paramètres ci-dessus généreront une analyse. fichiers pour toutes les requêtes, et l'analyse du suivi des appels peut également être déclenchée par des variables (disponibles via le navigateur). L'extension est automatiquement complétée. C'est également la méthode recommandée (voir ci-dessous), c'est-à-dire définir le nom de la variable XDEBUG_TRACE dans GET/POST ou cookie. Sa valeur est la clé qui correspond aux paramètres suivants. La configuration est la suivante :
xdebug.auto_trace= 0
; =1
xdebug.trace_enable_trigger_value="yunke"
; Il s'agit de la valeur de la variable XDEBUG_TRACE ci-dessus
Par exemple, visitez l'URL : http://www.test.com/index.php?XDEBUG_TRACE =yunke peut déclencher la génération de fichiers de suivi
Ici "yunke" est une valeur clé Ce n'est que lorsqu'il correspond au fichier de configuration que le fichier d'analyse peut être généré. La valeur par défaut est le caractère Null

Analyse de couverture de code :
Cette fonction nous permet de savoir quelles lignes ont été exécutées lors de l'exécution du code. Elle est généralement utilisée pour les tests unitaires. La configuration est la suivante :
xdebug.coverage_enable=1
;L'analyse de couverture de code est activée.

L'analyse de la couverture du code est effectuée en appelant des fonctions dans le code PHP. Le processus est le suivant, et un résultat de tableau sera obtenu :
xdebug_start_code_coverage();//Activer l'écrasement
…/ /Certains codes en cours d'analyse
var_dump(xdebug_get_code_coverage());//Obtenir un tableau de résultats d'analyse

Analyse du garbage collection :
Cette fonction est désactivée par défaut et sera affichée après celle-ci est activé Mettez les données d'analyse du garbage collection dans un fichier, affichez simplement le fichier, la configuration est la suivante (la valeur ici est définie sur notre situation la plus couramment utilisée pour la copie et l'utilisation, voir les instructions de configuration ci-dessous pour en savoir plus) :
xdebug.gc_stats_enable=1
;Activer l'analyse du garbage collection
xdebug.gc_stats_output_dir="C:rootxdebuggc"
;Répertoire de sortie des données, la valeur par défaut est /tmp
xdebug.gc_stats_output_name="gcstats. %s.%u"
;Nom du fichier de sortie, par défaut : gcstats.%p

Analyse des performances du programme :
Cette fonction est désactivée par défaut. Lorsqu'elle est activée, les données d'analyse des performances seront sorties dans un fichier. Le fichier est dans un format texte facile à analyser par la machine et nécessite un logiciel spécial. à afficher. La configuration est la suivante (paramètres de valeur ici Pour nos situations les plus couramment utilisées pour la copie et l'utilisation, consultez les instructions de configuration ci-dessous pour en savoir plus) :
xdebug.profiler_enable=1
 ; >xdebug.profiler_output_dir="C:rootxdebugprofiler"
 ; Répertoire de sortie du fichier d'analyse des performances
xdebug.profiler_output_name="cachegrind.out.%s.%u"
 ; Nom du fichier de sortie de l'analyse des performances

Les paramètres ci-dessus généreront des fichiers d'analyse pour toutes les requêtes, analyse des performances. Vous pouvez également utiliser le déclenchement de variables (peut être effectué automatiquement via les extensions de navigateur, c'est également la méthode recommandée, voir ci-dessous), c'est-à-dire définir le nom de la variable XDEBUG_PROFILE dans GET/POST ou cookie, et sa valeur est le mot de passe qui correspond à la clé de paramètres suivante, la configuration est la suivante :
xdebug.profiler_enable=0
 ;
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable_trigger_value="yunke"
; C'est la valeur de la variable XDEBUG_PROFILE ci-dessus
peut déclencher la génération de fichiers d'analyse, par exemple en visitant l'URL : http : //www.test.com/index.php?XDEBUG_PROFILE=yunke
Ici "yunke" est une valeur clé, Un fichier d'analyse ne peut être généré que s'il correspond au fichier de configuration. La valeur par défaut est un caractère vide
.
. Le site officiel présente de nombreux types de logiciels pour visualiser les fichiers d'analyse de sortie. Parmi eux, WinCacheGrind est acceptable dans l'analyse des petits programmes, mais il peut même être insuffisant pour les gros programmes. , QCacheGrind a le meilleur effet. Il s'agit de la version Windows de KCacheGrind Voici une brève introduction au logiciel :
Après ouverture, il y a un panneau "Flat Profile" sur la gauche, avec la première colonne " " Incl. " est le temps d'exécution, y compris le temps des sous-programmes appelés en interne ; la colonne Self est le temps consommé par lui-même, à l'exclusion des appels de sous-fonction ; la colonne Appelé est le nombre de fois que la fonction est appelée ; Function est le nom de la fonction ; la colonne Location est l'emplacement du fichier ;
Le temps est mesuré en microsecondes. 1 seconde = 1000000 microsecondes (μs), qui peut être exprimé en pourcentage.

Débogage à distance :
Jetons un coup d'œil à l'ensemble. processus de débogage à distance. Tout d'abord, le script à déboguer est ouvert par le navigateur avec des paramètres spéciaux, et le script commence à s'exécuter à ce moment-là, Xdebug initiera activement une connexion au client de débogage configuré et utilisera le protocole DBGp pour interagir avec. le client de débogage (le client de débogage est souvent ce que nous utilisons IDE, comme phpstorm, qui a besoin d'écouter le port réseau de débogage), le client de débogage utilise le protocole pour laisser Xdebug exécuter le code étape par étape, afficher ou définir la variable contenu dans le programme, et Xdebug suspend le programme php entre chaque étape. Cette "étape" est également appelée point d'arrêt. Le client de débogage peut définir un point d'arrêt pour suspendre le programme à cet endroit. Pour le client de débogage, cela est également appelé débogage de point d'arrêt. L'ensemble du processus est effectué étape par étape par Xdebug dans le moteur PHP. En exécutant le code et en exploitant le processus, elle reçoit les instructions du client de débogage.
Pour effectuer le débogage à distance, les opérations spécifiques sont les suivantes, vous avez d'abord besoin de la configuration suivante et redémarrez php :
xdebug.remote_enable=1
;Commutateur de débogage à distance
xdebug.remote_host=localhost
;Client de débogage à distance L'adresse de l'hôte, c'est-à-dire l'adresse de l'hôte où se trouve l'IDE, est souvent localhost
xdebug.remote_port=9000
une fois le port de débogage distant
configuré, nous ouvrez le script dans le navigateur et devez envoyer GET/ lors de l'ouverture. Le nom de la variable POST est , la valeur par défaut est une chaîne vide ; les paramètres attachés au navigateur peuvent être automatiquement complétés via l'extension du navigateur (voir ci-dessous) ; demande, le serveur démarre le processus de débogage en fonction du paramètre de l'élément de configuration xdebug.remote_mode. Si l'élément de configuration est "req", alors lorsque le script démarre pour la première fois, Xdebug initiera une connexion de débogage au client de débogage (IDE). est également la valeur par défaut. S'il s'agit de "jit", alors la connexion ne sera initiée que lorsqu'une erreur se produit. Une fois la connexion avec l'IDE établie avec succès, le protocole DBGp sera utilisé pour les interactions de débogage.
Si le serveur est partagé par plusieurs développeurs, il y aura plusieurs clients de débogage et l'élément de configuration xdebug.remote_host ne peut être défini que sur un seul. À ce stade, vous pouvez définir xdebug.remote_connect_back sur 1, ce qui utilisera le. L'IP obtenue dans l'en-tête http est utilisée comme adresse du client de débogage.
Le délai d'expiration par défaut de Xdebug lors du lancement d'une connexion de débogage est de 200 millisecondes. Cette valeur est définie dans l'élément de configuration xdebug.remote_timeout. Cette valeur est suffisante pour le débogage local. S'il s'agit d'un hôte réseau distant, vous devez augmenter cette valeur. y faire face.


Assistance du plug-in du navigateur :
Comme mentionné ci-dessus, le déclenchement de l'analyse, le suivi des fichiers et l'activation du débogage à distance nécessitent tous la définition de variables et de valeurs spécifiques dans GET/POST ou dans les cookies, nous pouvons alors vous laissez le navigateur le faire à votre place ? C'est possible. Voici la liste des navigateurs Firefox les plus utilisés par les développeurs :
Installez d'abord le plug-in auxiliaire et ouvrez l'adresse : https://addons.mozilla.org/ fr -GB/firefox/addon/xdebug-helper-for-firefox/
Vous verrez Xdebug Helper pour Firefox, cliquez sur Ajouter à Firefox et suivez les instructions
Une fois l'installation terminée, vous devez configurer : appuyez sur la combinaison de touches "ctrl+shift+a" pour ouvrir le panneau du module complémentaire, recherchez Xdebug Helper, cliquez sur Options et entrez l'identifiant de session à distance IDE, la clé d'analyse et le suivi. key respectivement (correspondant à xdebug.idekey dans la configuration), xdebug.profiler_enable_trigger_value, xdebug.trace_enable_trigger_value), cliquez sur Enregistrer. À ce moment, une icône de robot apparaîtra dans la barre d'adresse du navigateur de la page Web nouvellement ouverte. Quatre états peuvent être. sélectionné : débogage, analyse, suivi et désactivé dans les trois premiers états. Lorsque le serveur ouvre la connexion, elle sera accompagnée de paramètres de cookie supplémentaires. Par exemple, si nous choisissons l'analyse, alors la variable XDEBUG_PROFILE sera ajoutée. le cookie lors du rafraîchissement de la connexion. La valeur est la valeur de clé définie précédemment. Cela permettra à Xdebug de générer des fichiers d'analyse, de traçage de fonctions et de télécommande. Il en va de même pour le débogage.

Débogage phpstorm :
Comme mentionné précédemment, le débogage à distance de Xdebug est le processus dans lequel elle interagit avec le client de débogage via le protocole DBGp. Le client de débogage à distance doit écouter le port réseau pour recevoir le débogage. connexion initiée par Xdebug Ici, PhpStorm sert de client de débogage à distance pour expliquer les opérations spécifiques.
PhpStorm est un IDE couramment utilisé pour les développeurs. La version 2017.2.4 est utilisée ici, et le célèbre système de gestion de contenu Drupal8 est utilisé pour illustrer le processus de débogage. Tout d'abord, vous devez installer et configurer Xdebug. , sélection du port par défaut 9000, navigateur Firefox Installez l'extension Xdebug Helper pour Firefox mentionnée dans la section précédente, puis ouvrez le projet Drupal créé par PhpStorm (vous ne savez toujours pas comment créer le projet ? Veuillez visiter Baidu ou le site officiel de Drupal), ouvert : fichier > Paramètres par défaut > Langues &Frameworks > PHP > Application, entrez le nom de débogage (facultatif), entrez Drupal ici, cliquez sur les trois points dans la ligne Serveur, ouvrez le panneau de configuration du serveur, entrez le nom du serveur, l'adresse URL et le port, sélectionnez Xdebug comme débogueur, ne vérifiez pas le mappage du chemin, cliquez sur Appliquer OK, revenez au panneau précédent, entrez "/" pour l'URL de démarrage, sélectionnez Firefox avec l'extension Xdebug Helper pour Firefox installé dans le navigateur et appliquez OK
À ce stade, le menu déroulant dans la rangée de boutons de débogage dans le coin supérieur droit de l'interface phpstorm sélectionne automatiquement le "drupal" de débogage qui vient d'être créé, cliquez sur le téléphone. (l'icône du récepteur passe à l'état d'écoute) ou cliquez sur le menu Exécuter | Démarrer l'écoute des connexions de débogage PHP pour commencer à écouter le port 9000 et définir un point d'arrêt dans le fichier d'index (cliquez sur le côté gauche du numéro de ligne de code Vide, un point rouge apparaît), tout est prêt, ouvrez le navigateur Firefox, sélectionnez l'icône du robot d'exploration de la barre d'adresse comme "débogage", ouvrez une page Drupal, à ce moment phpstrom ouvrira le panneau de débogage dans le coin inférieur gauche, qui fournit Là Il existe de nombreux boutons permettant d'exécuter du code : le sous-panneau de variables répertorie toutes les variables dans la portée actuelle, où vous pouvez afficher le contenu de toutes les variables ; le panneau Montres peut suivre le contenu des variables ou des expressions ; le panneau Cadres répertorie la ligne actuelle ; Le cadre de pile d’appels dans lequel il se trouve.
Veuillez consulter la documentation officielle pour savoir comment utiliser phpstorm pour le débogage. Je n'entrerai pas dans les détails. Voici quelques pages du document d'aide au débogage fournies par le site officiel de phpstorm :
Configuration de l'installation :
https://. confluence.jetbrains.com/display /PhpStorm/Zero-configuration+Web+Application+Debugging+with+Xdebug+and+PhpStorm
Opération de débogage :
https://confluence.jetbrains.com/display/PhpStorm/ Utilisation du +PhpStorm+Debugger

Notez qu'après le démarrage du débogage, il restera au premier point d'arrêt. Si vous ne définissez pas de point d'arrêt, la session de débogage se terminera immédiatement. la première ligne de code (Sélectionnez Exécuter > Arrêter à la première ligne dans les scripts PHP).
Si une erreur 500 se produit dans le navigateur pendant le débogage et que la connexion de débogage est déconnectée, il est probable que le serveur ait terminé le programme php. Si vous exécutez Apache en mode FastCGI, le journal des erreurs sera similaire à "Fin". de la sortie du script avant les en-têtes", veuillez définir les paramètres FcgidIOTimeout et IPCCommTimeout dans le fichier de configuration du serveur httpd.conf sur le temps d'attente souhaité en secondes. Dans d'autres environnements, veuillez vérifier vous-même la configuration du délai d'attente.


Configuration commune :
Pour tous les paramètres et détails, voir : https://xdebug.org/docs/all_settings Cet article ne donne qu'une introduction générale
xdebug.trace_output_dir Suivi des appels de fonction Le répertoire d'écriture des fichiers de données, la valeur par défaut est /tmp, assurez-vous qu'il peut être écrit
xdebug.trace_output_name
Le guide des noms de fichiers du fichier de trace, la valeur par défaut est : trace.%c Pour exemple : yunke.%s.%u affichera la bande. Le nom de script du chemin et l'heure subtile sont les suivants : yunke.C__root_test_index_php.1520473784_260486.xt
xdebug.auto_trace
Activer le suivi des appels de fonction, valeur booléenne , la valeur par défaut est 0
xdebug.collect_assignments
Valeur booléenne, la valeur par défaut est 0, s'il faut ajouter une affectation de variable dans le traçage de fonction
xdebug.collect_includes
Valeur booléenne, la valeur par défaut est 1, s'il faut écrire Fichiers include(), include_once(), require() ou require_once() Fichier de trace
xdebug.collect_params
Entier, par défaut 0, détermine la collection de paramètres pour le suivi des fonctions, 0 signifie aucune collection, 1 le type et le nombre de paramètres, 2 ajoute des informations d'info-bulle basées sur 1, 3 le contenu variable complet (affecté par les paramètres de sortie variable), 4 complet variables Contenu et noms de variables, le contenu sérialisé 5php n'a pas de nom de variable
xdebug.collect_return
Valeur booléenne, par défaut 0, s'il faut écrire la valeur de retour de l'appel de fonction dans le fichier de suivi
xdebug.show_mem_delta
entier, la valeur par défaut est 0, les valeurs non nulles afficheront les informations sur l'utilisation de la mémoire des appels de fonction
xdebug.trace_format
Entier, par défaut 0, le format du fichier de trace, 0 est le format lisible par l'homme (index temporel, utilisation de la mémoire, etc.) 1 Format lisible par machine 2 Le format lisible par l'homme est affiché sur la page Web
xdebug.trace_options
Entier, la valeur par défaut est 0. S'il est défini sur 1, le fichier de trace est ajouté au lieu d'écraser
xdebug.var_display_max_children
Entier, par défaut 128, le nombre maximum de sous-éléments de tableau ou d'attributs d'objet affichés, aucune limite définie sur -1, non affecté lors du débogage à distance
xdebug.var_display_max_data
Entier, par défaut 512, chaîne d'affichage La longueur maximale, non limitée à -1, n'affecte pas le débogage à distance
xdebug.var_display_max_degree
Entier, par défaut 3, profondeur d'imbrication maximale lors de l'affichage des attributs d'un tableau ou d'un objet, maximum 1023, vous pouvez utiliser -1 pour faire référence à ce nombre maximum
xdebug.coverage_enable
Booléen, la valeur par défaut est 1, s'il faut activer l'analyse de couverture de code, Yunke a en fait mesuré que cet élément de paramètre n'est pas valide, vous devez utiliser la fonction
xdebug.gc_stats_enable
Valeur booléenne pour activer et obtenir les résultats de l'analyse, la valeur par défaut est 0, s'il faut activer l'analyse statistique du garbage collection
xdebug.gc_stats_output_dir
Le répertoire d'écriture pour l'analyse statistique des déchets, faites attention aux autorisations
xdebug.gc_stats_output_name
Le nom du fichier d'analyse des déchets et l'analyse de suivi Les règles de nom de fichier sont les mêmes
xdebug.profiler_enable
Entier, la valeur par défaut est 0, quand il est 1, la fonction d'analyse des performances sera activée
xdebug.profiler_aggregate
Integer, la valeur par défaut est 0, lorsqu'elle n'est pas 0, l'analyse de plusieurs requêtes sera activée Écrire les données dans un fichier pour l'analyse des requêtes croisées
xdebug.profiler_append
Entier, 0 par défaut, si le fichier d'analyse utilise le mode ajout, le paramètre du nom de fichier a un impact sur cet élément
xdebug.profiler_enable_trigger
Entier, la valeur par défaut est 0, utilise mode de déclenchement pour activer la fonction d'analyse. Lorsque vous l'activez, vous devez désactiver la chaîne xdebug.profiler_enable
xdebug.profiler_enable_trigger_value
. La valeur par défaut est "", la clé pour déclencher l'analyse, utilisez la chaîne
xdebug.profiler_output_dir
avec xdebug.profiler_enable_trigger, la valeur par défaut est /tmp, le répertoire de sortie du fichier d'analyse
xdebug.profiler_output_name
le nom du fichier d'analyse, la valeur par défaut est cachegrind.out.%p, voir xdebug.trace_output_name
xdebug.extended_info
entier, la valeur par défaut est 1, s'il faut forcer l'analyseur PHP à exécuter le mode extend_info
xdebug.idekey
chaîne, par défaut : *complexe*, identifiant de session de débogage, toute valeur envoyée par le navigateur de test de Yunke peut démarrer le débogage, ce n'est donc pas une valeur clé, mais certains clients de débogage peuvent l'utiliser pour déterminer s'il faut accepter la connexion de débogage, il est donc préférable d'unifier
xdebug.remote_addr_header
La valeur par défaut est une chaîne vide "", utilisée pour spécifier quel en-tête http représente l'adresse du client de débogage, utilisée en combinaison avec xdebug.remote_connect_back
xdebug.remote_autostart
Valeur booléenne, par défaut 0 , utilisez généralement une variable spécifique pour démarrer le débogage à distance. Si cet élément est défini sur 1, alors il est toujours activé. Lien d'adresse de demande
xdebug.remote_cookie_expire_time
integer. Par défaut 3600, délai d'expiration du cookie de débogage à distance
xdebug.remote_enable
Valeur booléenne, par défaut 0, s'il faut activer le débogage à distance
xdebug.remote_host
Chaîne, par défaut : localhost, adresse du client de débogage à distance
xdebug.remote_log
String, vide par défaut, nom du fichier journal de débogage à distance
xdebug.remote_mode
String, débogage à distance par défaut, le script req sera lié dès son démarrage, jit sera lié en cas d'erreur se produit
xdebug.remote_port
Port hôte de débogage à distance, par défaut 9000
xdebug.remote_timeout
Entier, 200 par défaut, unité milliseconde, temps d'attente pour le lien de débogage
xdebug.default_enable
Booléen valeur, 1 ou 0, active les invites d'erreur en mode xdebug, activé par défaut
xdebug.max_nesting_level
entier, la valeur par défaut est : 256, mécanisme de protection contre la récursion infinie, lorsque l'appel récursif atteint ce paramètre, le programme sera interrompu
xdebug .max_stack_frames
Entier, valeur par défaut -1, définit le nombre d'images dans la pile qui sont affichées lorsque des invites d'erreur
xdebug.scream
Valeur booléenne, la valeur par défaut est 0, s'il faut désactiver "@" afin que les erreurs puissent être forcées à afficher


Fonctions disponibles après l'activation de l'extension xdebug :
Lorsque l'extension est chargée, les fonctions suivantes peuvent être utilisées dans le script php :
( Seuls certains sont répertoriés ici, voir https pour tous ://xdebug.org/docs/all_functions)
string xdebug_call_class([int $profondeur = 1])
Afficher la classe d'appel
string xdebug_call_file([int $ profondeur = 1])
Afficher le fichier d'appel
string xdebug_call_function([int $profondeur = 1])
renvoie la fonction appelante
int xdebug_call_line([int $profondeur = 1])
retourne la ligne d'appel
void xdebug_disable()
Désactiver la trace de pile
void xdebug_enable()
Activer la trace de pile
bool xdebug_is_enabled()
Vérifier si le traçage de la pile est activé
string xdebug_get_collected_errors( [int clean] )
Renvoyer tous les messages d'erreur du tampon de jeu d'erreurs
array xdebug_get_headers()
Return header() Toutes les informations d'en-tête définies par la fonction
nt xdebug_memory_usage()
Renvoie l'utilisation de la mémoire
nt xdebug_peak_memory_usage()
Renvoie l'utilisation maximale de la mémoire utilisée par le script jusqu'à présent
void xdebug_start_error_collection()
Collecter les erreurs et supprimer l'affichage
void xdebug_stop_error_collection()
Arrêter l'enregistrement des erreurs et collecter à partir du tampon
float xdebug_time_index()
Renvoyer le temps d'exécution du point actuel, en secondes
Recommandations associées :

Une brève introduction à la méthode d'installation de l'extension Xdebug de l'outil de débogage en PHP7

Un tutoriel sur la façon d'installer l'extension Xdebug de l'outil de débogage en PHP7 (photo)

La configuration de Xdebug a échoué

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!