Maison  >  Article  >  développement back-end  >  Phpstorm + Xdebug débogage du point d'arrêt méthode PHP exemple php

Phpstorm + Xdebug débogage du point d'arrêt méthode PHP exemple php

jacklove
jackloveoriginal
2018-06-23 16:44:171723parcourir

Cet article présente principalement la méthode de débogage des points d'arrêt Phpstorm+Xdebug PHP. Ce tutoriel configurera l'extension Xdebug pour le débogage des points d'arrêt. Le but est d'améliorer l'efficacité du développement de chacun. Les amis intéressés peuvent s'y référer. 🎜>

Pourquoi utiliser le débogage des points d'arrêt

Vous pensez peut-être que vous pouvez utiliser var_dump et echo pour déboguer, pourquoi devez-vous installer le débogage des points d'arrêt Xdebug ?

C'est vrai. Cependant, le code écrit par var_dump et echo doit être supprimé ultérieurement, et il est clair où le saisir. S'il s'avère qu'il ne s'exécute pas à l'endroit où il a été écrit, le code doit être modifié et réexécuté. Avec le débogage des points d'arrêt, vous pouvez arrêter dynamiquement les points pendant le processus de débogage, afficher les valeurs actuelles de chaque variable ligne par ligne et même modifier temporairement les valeurs des variables, ce qui est plus pratique. Il est recommandé d'utiliser le débogage des points d'arrêt Xdebug.

Installer Xdebug

pecl install xdebug
S'il s'agit d'une version inférieure à php7, vous besoin de l'ajouter Numéro de version :

pecl install xdebug-2.5.5
pecl S'il indique que l'extension est introuvable, utilisez le code source pour compiler. Par exemple :

wget http://pecl.php.net/get/xdebug-2.5.5.tgz \
  && tar xzf xdebug-2.5.5.tgz && cd xdebug-2.5.5/ \
  && phpize \
  && ./configure \
  && make && make install
Remarque : php5.6 ne peut utiliser que la version 2.5 et inférieure de xdebug.

Après l'installation, vous devez le configurer dans php.ini :

[xdebug]
zend_extension=xdebug.so
xdebug.enable=1
xdebug.remote_enable=1
;如果开启此,将忽略下面的 xdebug.remote_host 的参数
;xdebug.remote_connect_back=1
;自动启动,无需XDEBUG_SESSION_START=1
xdebug.remote_autostart=1 
;宿主机IP
xdebug.remote_host=192.168.36.101 
xdebug.remote_port=19001
xdebug.remote_handler=dbgp
Il est à noter que :

1. Il s'agit de zend_extension, pas d'extension ;

2 Une fois
activé, il n'est pas nécessaire d'ajouter manuellement

à l'URL de la requête. lorsque Phpstorm active le débogage des points d'arrêt, tout ira bien. Très pratique ;

xdebug.remote_autostartXDEBUG_SESSION_START=13.
est configuré sur une machine sur laquelle Phpstorm est installé, vous devez donc y prêter attention. Si la machine sur laquelle php est installé et la machine sur laquelle Phpstorm est installé sont la même machine, alors écrivez simplement

dans l'adresse.

remote_host127.0.0.1Si vous utilisez un environnement Docker,
écrivez l'adresse IP de la machine hôte.

remote_host4. Le port
que j'ai écrit est

, donc Phpstorm doit également être modifié.

xdebug.remote_portUne fois la configuration terminée, php-fpm doit être redémarré. 19001

Configurer Phpstorm

La configuration est également très simple, il suffit de configurer le port :


Vous pouvez maintenant commencer le débogage avec des points d'arrêt. Activer la surveillance :


La demande sera automatiquement capturée lorsque l'url sera demandée.

Remarque :

1. N'activez pas la surveillance de plusieurs projets en même temps

2. et code Si la structure des répertoires est la même, la surveillance réussira directement. Sinon, vous serez invité à définir la relation de mappage de code. Vous pouvez également le définir manuellement :


Ici, comme l'hôte est Windows et le code est sous Linux, les répertoires sont incohérents et le mappage est effectué. Sinon, le point d'arrêt échouera.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. J'espère également que tout le monde soutiendra le site Web php chinois.

Articles qui pourraient vous intéresser :

Fonction php strftime pour obtenir les bases de la date et de l'heure en php


Exemple de code pour un tableau multidimensionnel PHP pour spécifier un exemple de tri multi-champs_php


classes et méthodes php (exemple de code) qui implémentent le tri des noms en fonction des lettres initiales php exemple


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!

Déclaration:
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