eclipse: installare e configurare il plugin ZEND DEBUGGER
Continua la configurazione di eclipse iniziata nel post roadmap: eclipse - un ambiente per sviluppare un progetto PHP con l'installazione di Zend Debugger, prezioso plugin che aiuta nel debugging del codice php.
![]() |
| [cos'è una roadmap] |
Questa è la parte carente del libro e quindi la completo con i seguenti riferimenti:
- pdt zend debugger installation
- pdt debugging with zend-debugger
- practical debugging with zend and eclipse pdt
Eclipse supporta almeno 3 diversi debugger DBG (descritto nel libro), ZEND, XDEBUG. Il primo sembra essere caduto in disuso, mentre gli ultimi due sembrano essere equivalenti nelle funzionalità.
E' importante installare e configurare uno solo dei 2 altrimenti si pestano i piedi tra di loro.
Installazione
L'installazione consta di due parti, una a livello di sistema (modifica del file php.ini) l'altra a livello di plugin.
Parto dall'installazione del plugin (5.2.12). Procedo con Eclipse update, come prima
- Name: PDT zen debugger
- URL: http://downloads.zend.com/pdt
Ora installo l'estensione per php: in primis devo conoscere zendpath e per scoprirlo faccio:
echo "<?php phpinfo(); ?>" > /var/www/phpinfo.php wget --output-document=- http://localhost/phpinfo.php |grep "extension_dir"
ottengo:
--16:20:26-- http://localhost/phpinfo.php => `-' Resolving localhost... 127.0.0.1 Connecting to localhost|127.0.0.1|:80... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] [<=> ] 0 --.--K/s <tr><td class="e">extension_dir</td><td class="v">/usr/lib/php5/20060613+lfs</td><td class="v">/usr/lib/php5/20060613+lfs</td></tr> [ <=> ] 54,201 --.--K/s 16:20:26 (5.03 MB/s) - `-' saved [54201]
/usr/lib/php5/20060613+lfs è la parte che mi interessa.
zendpath="/usr/lib/php5/20060613+lfs/" cd /tmp wget -c http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.12-linux-glibc23-i386.tar.gz tar zxf ZendDebugger-5.2.12-linux-glibc23-i386.tar.gz mv ZendDebugger-5.2.12-linux-glibc23-i386/5_2_x_comp/* $zendpath sudo chown root:root $zendpath"ZendDebugger.so" rm -fR /tmp/Zend*
ora configuro php per utilizzare l'estensione, ma prima devo sapere dov'è il php.ini che php sta usando:
wget --output-document=- http://localhost/phpinfo.php |grep "Loaded Configuration File"
ottengo
--16:25:30-- http://localhost/phpinfo.php => `-' Resolving localhost... 127.0.0.1 Connecting to localhost|127.0.0.1|:80... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] [ <=> ] 54,201 --.--K/s 16:25:30 (253.72 MB/s) - `-' saved [54201] <tr><td class="e">Loaded Configuration File </td><td class="v">/etc/php5/apache2/php.ini </td></tr>
Nel file php.ini va modificato il valore implicit_flush = Off in On
sudo cp /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini~ sudo sed -e "s/implicit_flush\ \=\ Off/implicit_flush\ \=\ On/g" -i /etc/php5/apache2/php.ini
e vanno aggiunte alcune righe (suppongo che non sia mai stato installato un altro debugger in precedenza)
echo ' [Zend] zend_extension='$zendpath'ZendDebugger.so zend_debugger.allow_hosts=127.0.0.1/32 zend_debugger.expose_remotely=always ' |sudo tee -a /etc/php5/apache2/php.ini
manca solo il riavvio di apache e anche il debugger è a posto:
sudo /etc/init.d/apache2 restart
Configurazione
anche per zend, una volta terminata l'installazione la configurazione è minima. Semmai ci si deve districare un pò con la prospettiva; la prospettiva originale PHP Debug, a mio avviso, è molto caotica, ma la si può rimaneggiare come meglio si crede.
Ho fatto uno screencast
Se non vedi il filmato clicca qui oppure se non ti piacciono i video in streaming (come al sottoscritto) usa:
wget -c http://blip.tv/file/get/Dam-eclipsePhpDebuggingWithZendDebugger863.avi?source=3
Installazione per ganimede
Se cerco di installare il plugin zend pdt debugger in ganimede usando il repository http://downloads.zend.com/pdt, ottengo questo errore:
Cannot complete the request. See the details. Cannot find a solution satisfying the following requirements org.eclipse.php.help [2.0.0.v20081229-1135]
Il motivo è semplice: in PDT2 NON serve!!!
<upset>
Mi chiedo per quale motivo nessuno si degni mai di scrivere dettagli insignificanti come questo che mi hanno fatto perdere un buon paio d'ore .... Me lo sarei aspettato scritto a caratteri cubitali alla prima riga della home del plugin!
</upset>
Gli step per l'installazione del modulo zend_debugger per php sono gli stessi visti per la 3.3. Nel caso in cui sia presente sul sistema la vecchia versione di zend_debugger usato per eclipse 3.3 è necessario aggiornarla a 5.2.15 scaricando da qui la versione più adatta al proprio sistema onde evitare questo messaggio in fase debugging

In pratica si fa cosi
zendpath="/usr/lib/php5/20060613+lfs/" cd /tmp wget -c http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.15-linux-glibc23-i386.tar.gz tar zxf ZendDebugger-5.2.15-linux-glibc23-i386.tar.gz mv mv ZendDebugger-5.2.15RC1-linux-glibc23-i386/5_2_x_comp/ZendDebugger.so $zendpath sudo chown root:root $zendpath"ZendDebugger.so" rm -fR /tmp/Zend* sudo /etc/init.d/apache2 restart
Infine configuro l'interprete php dalle Prefences di eclipse

- dam's blog
- 2929 reads






Post new comment