Déboguer un projet Php avec NetBeans

Se coincer tout de suite pendant le codage et les tests arrive à tous les programmeurs, parfois regarder les journaux ne suffit pas pour réparer les choses rapidement, c’est quand utiliser un débogueur devient vraiment utile.

Nous allons intégrer XDebug dans notre configuration NetBeans afin de pouvoir déboguer des projets Php 7.

Voici la configuration sur laquelle je vais travailler :

  • Serveur Web distant utilisant Php7 et Apache 2
  • Un projet Zend 3
  • Machine locale utilisant Netbeans 8.2
  • Les paramètres SFTP sont correctement configurés pour télécharger des fichiers sur le serveur sur save

Si vous devez installer NetBeans, suivez les étapes décrites ici : Installation de Netbeans.

La machine locale s’exécute sous Windows mais cela n’a pas d’impact sur la procédure si vous êtes sous Linux ou Mac car le serveur est sur une machine distante.

Commencez avec XDebug

Installons d’abord le débogueur :

#apt-get install php-xdebug

Puis activez l’extension:

#phpenmod xdebug

Vérifiez maintenant le fichier sous /etc/php/7.0/mods-available/xdebug.ini et les lignes suivantes :

zend_extension=xdebug.soxdebug.idekey=netbeans-xdebugxdebug.remote_enable= Onxdebug.remote_handler=dbgpxdebug.remote_mode=reqxdebug.remote_host=888.888.888.888xdebug.remote_port=9000

Remplacez 888.888.888.888 par votre adresse IP locale (l’adresse IP sur laquelle vous exécutez l’EDI NetBeans).

Redémarrez votre serveur Php et vous devriez voir ceci :

 Composer Serve-XDebug

Voir le message d’avertissement ? Bien sûr, cela a un impact sur les performances de votre site Web, alors n’y parvenez jamais sur un serveur de production, vous feriez mieux de l’utiliser à l’aide d’une machine virtuelle ou sur un serveur local.

Vérifiez votre configuration php en utilisant la commande suivante:

#php-i/ grep xdebug

Sur votre machine locale exécutant NetBeans, vous devez autoriser le port 9000 et si vous avez un routeur, vous devez rediriger le port vers la machine locale ou Netbeans ne pourra pas se connecter au serveur.

L’utilisation d’un serveur distant nécessite le mappage des chemins sur la configuration Web avancée NetBeans :

  • Faites un clic droit sur le nom de votre projet à gauche et cliquez sur propriétés

 Configuration Avancée NetBeans

 Mappage des chemins Netbeans

Essayez de faire correspondre vos chemins locaux et distants et cliquez sur OK.

Si vous lancez le débogueur à partir de NetBeans maintenant (CTRL-F5), cela devrait fonctionner, nous verrons maintenant comment le tester avec l’application Zend 3 par défaut.

XDebug test

Pour des détails précis sur les outils de débogage sur ID, vérifiez l’URL suivante.

Si vous souhaitez uniquement effectuer un test rapide, configurez un ou plusieurs points d’arrêt dans vos fichiers de projet, par exemple dans le contrôleur d’index.php de l’application Zend 3 à la ligne 17.

  1. Lancez le débogueur
  2. La page s’arrête au point d’arrêt, voir la capture d’écran suivante :

 Points d'arrêt - Xdebug

Parcourez les onglets de chaque console pour vous familiariser et effectuer des tests supplémentaires en ajoutant plus de points d’arrêt!

À tout moment si vous devez désactiver le débogage Php, émettez la commande :

#phpdismod xdebug

Eh bien nous sommes tous bons maintenant, dans un prochain tutoriel, nous passerons en revue l’utilisation de PHPUnit avec NetBeans et l’outil XDebug, nous discuterons également de KCacheGrind pour profiler notre code Php.

N’oubliez pas de nous suivre sur les réseaux sociaux pour des informations à jour.

Write a Comment

Votre adresse e-mail ne sera pas publiée.