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 :
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
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.
- Lancez le débogueur
- La page s’arrête au point d’arrêt, voir la capture d’écran suivante :
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.