Quelques errances dans le monde de l’Open Source, pour obtenir un debugger PHP sur mon Mac (faut-il le re-préciser?).
Beaucoup de mes remarques sont en toute vraisemblance pertinents sous Linux, mais je ne peux pas l’affirmer.

Contexte
Malgré une licence achetée du produit professionnel Zend, je n’avais pas réussi, en utilisant l’installateur standard de ces derniers, à faire fonctionner le debugger. Frustrant… et énervant… Surtout que le debugger est un des atouts majeurs de ce type de produit, par rapport à un simple éditeur orienté PHP avec coloriage de syntaxe.

Précisons que le problème se pose essentiellement sous Mac (et sous Linux), les installations dans ces deux environnements étant réduits au minimum syndical par Zend (un vague install.sh, qui va buter au moindre problème).

Notons aussi que j’ai besoin, pour le développement , d’un PHP 5, avec des modules très courants (GD2, CURL…), que Zend n’a pas jugé bon de livrer en standard avec son PHP fourni. Bref, il faut préciser que je fonctionne sur un PHP 5 construit (merci à eux) par Entropy. (http://www.entropy.ch/software/macosx/php/)

Je vais essayer de faire court, pour tous ceux qui n’ont pas envie comme moi, de chercher pendant deux heures (minimum) sur Internet:

Eclipse, l’IDE de référence Open Source
L’outil que j’ai voulu essayer pour éditer/debugguer en remplacement de Zend est Eclipse. Ce formidable outil Open Source a atteint avec se version 3 une qualité professionnelle certaine.

Attention, deux formules sont disponibles:

Même si avec Eclipse, vous pouvez moduler « feature » par « feature » et « plugins » par « plugins », je vous conseille tout de même ces formules packagées qui font gagner un temps précieux, surtout si vous ne voulez que essayer avant de choisir.

Grille de fonctionnement
Ces deux formules ne fonctionnent pas avec les mêmes Debuggers:

Debuggers PHPEclipse Eclispe PDT Zend IDE Télécharger
dbg X (1) http://sourceforge.net/projects/dbg2/
XDebug X (2) http://www.xdebug.org/
ZendDebugger X (3) X (4) http://downloads.zend.com/pdt/debugger/

Dbg, et XDebug, sous Mac, doivent se compiler, il vous faudra donc télécharger les sources. Si vous n’avez pas installé XCode d’Apple, inutile de continuer. Notez que XCode se télécharge gratuitement, après une identification en tant que « développeur » Apple. Note: il faut désactiver XCache pour ces debuggers.

(1) dbg sous PHP Eclipse.

Malgré une compilation/installation sans problème, ce debugger n’a jamais fonctionné sur ma machine. Je ne peux donc pas trop en parler, si ce n’est que l’ensemble PHP Eclipse + cet outil faisait un peu « bricolé ». Mon impression est donc tout de même négative.

(2) XDebug sous Eclipse PDT

La compilation, ainsi que l’installation sans trop de difficultés (Suivre ce tutoriel en anglais ). A l’usage, PDT est bien abouti, le debugger fonctionne. En revanche, un bug m’empêche de debugguer la bonne page. Un index.php d’un autre dossier se substitue au bon index.php. Une autre page ne déclenche pas le debugger. Il existe sans doute des explications à cela, mais je n’ai pas envie d’y passer encore deux heures de plus.

(3) Zend Debugger sous PDT

Je n’ai pas essayé. Tant qu’à faire, je suis passé directement à (4) ;). Mais cette solution est envisageable, car PDT propose cette option.

(4) Zend IDE + Zend Debugger

Finalement, retour au debugger Zend. Mine de rien, avec sa barre Firefox, reste l’outil le plus agréable à l’usage. Il m’a fallu tout de même me battre avec les Zend Engine et Zend Debugger, pour pouvoir conserver mon PHP Entropy ET le debugger Zend.

Voici ce qu’il m’a fallu faire à la main, dans le php.ini, une fois les bonnes librairies partagées placées sous /usr/local/Zend/lib/

 
 [Zend] studio.install_dir=/usr/local/Zend
 zend_debugger.expose_remotely=allowed_hosts
 zend_debugger.httpd_uid=70
 zend_gui_password=------------------ (mettez le votre!!) -----------------
 zend_gui.ini_modifier=/usr/local/Zend/sbin/ini_modifier
 zend_debugger.allow_hosts=127.0.0.1/32
 zend_debugger.allow_tunnel=127.0.0.1/32
 zend_debugger.deny_hosts=
 zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.0
 zend_extension_manager.debug_server=/usr/local/Zend/lib/Debugger-5.2.1
 zend_ini_file=/usr/local/Zend/etc/zend.ini
 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
  

En conclusion:
Il est dommage, que l’outil de Zend, bien que nous ayons payé pour avoir des licences, soit si pénible et compliqué à l’installation, au point que j’avais presque renoncé à l’utiliser. Mais en termes de fonctionnalités, il l’emporte tout de même encore sur les produits Open Source (de peu), et mérite sans doute qu’on se donne un peu de mal à l’installation. Pour ceux qui ne veulent pas acheter Zend, je conseille donc fortement Eclipse PDT, avec XDebug ou Zend Debugger, malgré quelques petits dysfonctionnements.

Catégories : PHP

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *