Maison >développement back-end >tutoriel php >Apprendre à connaître et à aimer xdebug
xdebug: une plongée profonde dans le débogage de PHP après 15 ans
Cet article revient XDebug, une puissante extension PHP célébrant son 15e anniversaire, et explore ses capacités de débogage. XDebug fournit des fonctionnalités essentielles pour les développeurs, y compris des traces de pile détaillées, une sortie améliorée var_dump
, le profilage pour l'analyse des performances, le débogage à distance et la couverture du code pour les tests unitaires.
Caractéristiques de clé:
var_dump
: offre une sortie variable codée en couleur et structurée, améliorant la lisibilité. xdebug vs outils modernes:
Alors que les IDE et les outils modernes comme les feux noirs offrent des fonctionnalités similaires, XDebug reste indispensable. Sa force réside dans sa stabilité mature, son intégration transparente avec des cadres de test unitaires (pour la couverture du code) et sa facilité d'utilisation inégalée pour le débogage de point d'arrêt distant. La configuration et l'utilisation de BlackFire, par exemple, implique des étapes et des coûts supplémentaires.
Débutant (en utilisant Homestead amélioré):
Homestead amélioré simplifie la configuration XDebug avec pré-installation et activation. Pour d'autres environnements, consultez le guide d'installation officiel de XDebug.
Exemples pratiques:
Illustrons les fonctionnalités de Xdebug. Créez un fichier simple index.php
avec echo $foo;
. Sans xdebug, le message d'erreur est basique. Avec XDebug activé, vous obtenez une trace de pile détaillée.
Désactivation XDebug (Homestead améliorée):
pour désactiver, commenter zend_extension=xdebug.so
dans /etc/php/7.1/fpm/conf.d/20-xdebug.ini
et redémarrer php-fpm (sudo service php7.1-fpm restart
). Le message d'erreur résultant est nettement moins informatif.
liens de fichiers clickables (phpstorm):
Ajouter xdebug.file_link_format = phpstorm://open?%f:%l
à votre fichier xdebug.ini
pour les liens de fichier cliquables dans la trace de pile dans phpstorm (la compatibilité varie à l'autre des navigateurs).
xdebug avec débogage vagabond et distant:
xdebug s'intègre de manière transparente aux machines virtuelles, en prenant en charge le débogage de points d'arrêt distant. (Reportez-vous à un guide précédent pour un tutoriel détaillé.)
en utilisant le profileur (laravel):
Configurez le profileur de XDebug en ajoutant xdebug.profiler_enable_trigger = 1
et xdebug.profiler_output_dir = /home/vagrant/Code/
à votre xdebug.ini
. L'accès à votre application avec ?XDEBUG_PROFILE
génère un fichier de profil Cachegrind, analysant avec des outils comme QCachegrind.
Sous-gestion des erreurs de Laravel:
pour forcer le rendu de l'erreur de Xdebug dans le développement de Laravel, utilisez ini_set('display_errors', 1); restore_error_handler();
dans votre itinéraire.
Conclusion:
xdebug reste un outil essentiel pour les développeurs PHP, offrant des capacités de débogage complètes. Sa fiabilité de longue date et ses fonctionnalités étendues en font un atout précieux pour tout projet.
(Section FAQ omise par la concision. Les FAQ fournies sont déjà bien écrites et peuvent être facilement incorporées dans une section distincte de l'article.)
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!