xDebug unter xampp 1.7.3a mit netbeans 6.8
Willkommen zu einem der nützlicheren Beiträge auf meiner Seite ;)
Hier erkläre ich, wie man sich einen PHP Debugger unter Linux einrichtet.
Ich verwende hierfür xampp in der Version 1.7.3a (plus Entwicklungspaket), xDebug 2.0.5 (Quellen, wir builden selber) sowie netbeans IDE 6.8 für PHP
Wichtig: Ich gehe davon aus, dass meine Leser die netbeans IDE für PHP selber installieren können, und dies schon getan haben.
- xampp runterladen
- xampp developer runterladen
- xampp entpacken (muß zwangsläufig als root/bzw. mit sudo ausgeführt werden. xampp MUSS in den opt Ordner, sonst funktioniert es nicht)
- xampp developer drüberpacken
Falls nicht installiert, benötigen wir auch noch autoconf:
Jetzt benötigen wir die Quellen von xDebug, nehmen wir wieder die Konsole zum runterladen:
entpacken:
ins Verzeichnis wechseln:
mit dem xampp php phpizen:
jetzt wird der build konfiguriert (wir müssen den Pfad zur php-config in der xampp Installation angeben, damit es klappt):
hat alles geklappt, können wir endlich was "machen"
und:
letzter Befehl liefert eine Ausgabe ähnlich der folgenden:
Wir merken uns den angegebenen Pfad, weil dort nun unsere xDebug Extension liegt.
Jetzt müssen wir nurnoch xampp so konfigurieren, dass es die Zendextension auch läd.
Installiert ist es schon. In meinem Fall in
xDebug benötigt ein temporäres Verzeichnis in dem es schreiben kann. Um es an zu legen und mit Schreibrechten zu versehen, können wir folgende Befehle in der Konsole ausführen:
Als nächstes passen wir die php.ini an. Bei xampp liegt sie unter /opt/lampp/etc/php.ini Ich lade sie aus der Konsole mit root Rechten in gedit. Du kannst einen Editor deiner Wahl nutzen.
Am Ende der Datei legen wir folgenden Block an:
Für lokale Testumgebungen muß nichts weiter geändert werden. Beachte, das immer nur eine Zend Extension aktiv sein kann.
nochmal überprüfen ob der temporäre Ordner wirklich schreibbar ist und xampp neu starten.
debugging in netbeans funktioniert! Viel Spaß damit :)
Hier erkläre ich, wie man sich einen PHP Debugger unter Linux einrichtet.
Ich verwende hierfür xampp in der Version 1.7.3a (plus Entwicklungspaket), xDebug 2.0.5 (Quellen, wir builden selber) sowie netbeans IDE 6.8 für PHP
Wichtig: Ich gehe davon aus, dass meine Leser die netbeans IDE für PHP selber installieren können, und dies schon getan haben.
Schritt 1: xampp herunterladen und installieren
Weils einfacher ist, schneller geht und weniger fehleranfällig ist, verwenden wir die Konsole.- xampp runterladen
wget http://www.apachefriends.org/download.php?xampp-linux-1.7.3a.tar.gz
- xampp developer runterladen
wget http://www.apachefriends.org/download.php?xampp-linux-devel-1.7.3a.tar.gz
- xampp entpacken (muß zwangsläufig als root/bzw. mit sudo ausgeführt werden. xampp MUSS in den opt Ordner, sonst funktioniert es nicht)
sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt
- xampp developer drüberpacken
sudo tar xvfz xampp-linux-devel-1.7.3a.tar.gz -C /opt
Schritt 2: xDebug herunterladen und compilieren
Zunächst benötigen wir das paket build-essential um überhaupt etwas compilieren zu können. Man kann dies per apt-get installieren, falls noch nicht geschehen:sudo apt-get install build-essential
Falls nicht installiert, benötigen wir auch noch autoconf:
sudo apt-get install autoconf
Jetzt benötigen wir die Quellen von xDebug, nehmen wir wieder die Konsole zum runterladen:
wget http://xdebug.org/files/xdebug-2.0.5.tgz
entpacken:
tar xvfs xdebug-2.0.5.tgz
ins Verzeichnis wechseln:
cd xdebug-2.0.5/
mit dem xampp php phpizen:
/opt/lampp/bin/phpize
jetzt wird der build konfiguriert (wir müssen den Pfad zur php-config in der xampp Installation angeben, damit es klappt):
./configure --with-php-config="/opt/lampp/bin/php-config"
hat alles geklappt, können wir endlich was "machen"
make
und:
sudo make install
letzter Befehl liefert eine Ausgabe ähnlich der folgenden:
Installing shared extensions: /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/
Wir merken uns den angegebenen Pfad, weil dort nun unsere xDebug Extension liegt.
Jetzt müssen wir nurnoch xampp so konfigurieren, dass es die Zendextension auch läd.
Schritt 3: xDebug installieren und konfigurieren
Installiert ist es schon. In meinem Fall in /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/
xDebug benötigt ein temporäres Verzeichnis in dem es schreiben kann. Um es an zu legen und mit Schreibrechten zu versehen, können wir folgende Befehle in der Konsole ausführen:
sudo mkdir /opt/lampp/tmp/xdebug sudo chmod a+rwx -R /opt/lampp/tmp/xdebug
Als nächstes passen wir die php.ini an. Bei xampp liegt sie unter /opt/lampp/etc/php.ini Ich lade sie aus der Konsole mit root Rechten in gedit. Du kannst einen Editor deiner Wahl nutzen.
sudo gedit /opt/lampp/etc/php.ini
Am Ende der Datei legen wir folgenden Block an:
[xDebug] zend_extension = /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so xdebug.profiler_output_dir = "/opt/lampp/tmp/xdebug/" xdebug.profiler_enable = On xdebug.remote_enable=On xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_handler="dbgp"
Für lokale Testumgebungen muß nichts weiter geändert werden. Beachte, das immer nur eine Zend Extension aktiv sein kann.
Abschließend
sollten wir:nochmal überprüfen ob der temporäre Ordner wirklich schreibbar ist und xampp neu starten.
debugging in netbeans funktioniert! Viel Spaß damit :)
Kommentare
netbeans für PHP ist in der Version 6.8 richtig gelungen. Der erste netbeans Wurf für PHP der mir persönlich gefällt... nicht nur wegen xDebug