Configurer Eclipse pour activer le mode Debug

Quand vous codez, il n’est pas rare de devoir mettre des points d’arrêt pour vérifier le contenu d’une variable, ou s’assurer du bon déroulement d’un script.

Vous pouvez, bien évidemment, et c’est souvent la facilité, parsemer votre code de echo $variableou print_r($tableau), suivis ou non de die() pour arrêter le script.

Vous pouvez également installer le débogueur PHP dans votre serveur web, qui vous permettra d’avoir une vision nettement meilleure, et de suivre, pas à pas, l’évolution de vos variables et le cheminement de vos scripts.

L’installation a été réalisée à partir de ce document : http://static.zend.com/topics/Zend-Debugger-Installation-Guide-050211.pdf.

Installer les librairies dans le serveur

Téléchargez le Studio web debugger de Zend depuis le sitehttp://www.zend.com/en/community/pdt/downloads. Vous pouvez choisir la version correspondant à votre serveur (Linux, Windows, en 32 ou 64 bits).

Dans votre serveur, vérifiez la version de PHP :

php -v
PHP 5.3.2-1ubuntu4.17 with Suhosin-Patch (cli) (built: Jun 19 2012 01:35:33)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Décompressez l’archive, puis :

  • recopiez le fichier dummy.php à la racine de l’espace de publication de votre serveur web :
      • scp dummy.php root@svweb:/var/www
  • recopiez le fichier ZendDebugger.so correspondant à votre version PHP vers un dossier accessible à votre serveur web, par exemple :
      • scp 5_3_x_comp/ZendDebugger.so root@svweb:/usr/local/bin/
  • modifiez le fichier php.ini utilisé par votre serveur web, par exemple :
      • vim /etc/php5/apache2/php.ini
  • et rajoutez les directives suivantes :
      • zend_extension = /usr/local/bin/ZendDebugger.so
      • zend_debugger.allow_hosts=10.33.32.0/21
      • zend_debugger.expose_remotely=allowed_hosts

Pour calculer les adresses autorisées (séparées par une virgule), vous pouvez utiliser le programme disponible ici : http://cric.grenoble.cnrs.fr/Administrateurs/Outils/CalculMasque/

Le paramètre zend_debugger.expose_remotely peut prendre d’autres valeurs : allways, pour montrer que le débogueur est actif à tous les postes, ou never, pour inhiber sa présentation.

Redémarrez alors le serveur web :

service apache2 restart

Configurer Eclipse pour pouvoir utiliser le débogueur

Dans Eclipse, l’activation du débogueur est très simple : il suffit de lui indiquer l’adresse du serveur web.

  • Allez dans Windows > Preferences, puis PHP > PHP executables > PHP server
  • Éditez Default PHP Web Server, et indiquez l’adresse web de votre serveur, par exemple :http://svweb.

Pour lancer le débogage, ouvrez le fichier que vous voulez exécuter (en principe, index.php), puis lancez le programme : Run > Debug. Eclipse vous proposera de changer de perspective, pour passer dans le mode Debug, puis s’arrêtera à la première instruction. À vous ensuite de définir vos points d’arrêt !