Debug di PHP in KDevelop: come installare i plugin e farli funzionare
18/01/2014
Fare il debug di una pagina PHP in KDevelop non è la cosa più semplice del mondo, principalmente perché manca la documentazione per farlo. Ecco quindi una rapida guida partendo da zero! Questa guida si riferisce a Ubuntu Saucy 13.10 e Kdevelop 4.6.
1. Far funzionare XDebug
1. Installare il pacchetto xdebug: sudo apt-get install php5-xdebug
2. Verificare che in /etc/php5/apache2/conf.d
ci sia il file 20-xdebug.ini
, in caso contrario fare il link appropriato: cd /etc/php5/apache2/conf.d; sudo ln -s ../../mods-available/xdebug.ini
3. Modificare questo file di configurazione aggiungendo le informazioni necessarie. Ecco delle impostazioni di esempio:
zend_extension=/usr/lib/php5/20121212/xdebug.so
[xdebug]
xdebug.remote_autostart=Off
xdebug.remote_enable=On
xdebug.remote_connect_back = On
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = '/tmp/'
xdebug.idekey="MYIDE"
4. Riavviare apache, e verificare che xdebug sia stato caricato correttamente (basta eseguire phpinfo() in una pagina web, e verificare che il modulo XDebug compaia).
2. Installare i moduli necessari
A questo punto dobbiamo procurarci i moduli necessari, che purtroppo non sembrano essere presenti in nessun repository utilizzabile. Ecco come fare:
git clone git://anongit.kde.org/kdev-executebrowser
git clone git://anongit.kde.org/kdev-xdebug
entriamo in ognuna delle cartelle create e facciamo:
cmake .
make
sudo make install
i file verranno installati in /usr/local. Dobbiamo quindi impostare il nostro ambiente in modo che consideri anche queste cartelle. Basta eseguire i seguenti comandi. Per renderli permanenti, basta inserirli nel file: /etc/profile.d/kde-usr-local.sh
e fare logout e login.
export KDEDIR=/usr
export KDEDIRS=/usr/local:${KDEDIR}
export PATH=/usr/local/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib
export XDG_DATA_DIRS=/usr/local/share:/usr/share
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig
Controlliamo la variabile KDEDIRS
, che deve contenere /usr/local. Per farlo: echo $KDEDIR
da console.
E finalmente possiamo chiedere a KDE di cercare i nuovi componenti:
kbuildsycoca --noincremental
3. KDevelop
Eseguiamo kdevelop.
Clicchiamo su Settings > Configure KDevelop > Plugins. Nella lista devono comparire i due plugin che abbiamo installato: Execute Browser e XDebug Support. Se non ci sono, qualcosa è andato storto.
Configuriamo un nuovo lancio: clicchiamo su Run > Configure launches, clicchiamo su Add new... e scegliamo Browser application. Nella parte destra, nella sezione server, inseriamo il nome del vhost che debuggeremo. Fatto!
A questo punto possiamo lanciarlo (Run > Execute launch e scegliamo il launch appena creato). Dovrebbe aprirsi il browser, e se abbiamo impostato dei breakpoint il debugger dovrebbe fermarsi e mostrare le variabili!