Skip to main content

XDebug mit mehreren Usern

This blog post might be outdated!
This blog post was published more than one year ago and might be outdated!
· 2 min read
Stephan Hochdörfer
Head of IT Business Operations

Gefunden via planet-php.org: Derik hat in seinem Blog ein Howto veröffenlicht das erläutert via man via dbgproxy mit mehreren Usern gleichzeitig eine XDebug zum Remote-Debuggen nutzen kann. Die Möglichkeit war mir bislang nicht bekannt und von daher das Interesse groß das ganze einmal auszuprobieren.

Aus Sicherheitsgründen erlaubt XDebug die Angabe nur einer IP Adresse in der Konfigurationsdatei die für die Debug-Kommunikation verwendet wird. Eine Einschränkung die für lokales Debuggen (IDE und Webserver auf der gleichen Maschine) kein Problem darstellt, im Falle von Test- bzw. Staging Systemen auf die mehrere Entwickler zugreifen durchaus ein Problem darstellen kann. Dank ActiveState gibt es einen in Python geschriebenen Proxy den man zwischen IDE und XDebug schalten kann um so die IP-Beschränkung zum umgehen.

Installation und Konfiguration von xdebug (unter Debian)
1. Als root user ausführen: pecl install xdebug
2. Neue Datei anlegen: /etc/php5/conf.d/xdebug.ini mit folgendem Inhalt

# xdebug configuration
zend_extension=/usr/lib/php5/20060613+lfs/xdebug.so<p>[xdebug]
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=192.168.2.222
xdebug.remote_autostart=1

Installation und Konfiguration des DBGp proxy
Nach Entpacken des Archivs in den bin Ordner wechseln und folgendes Kommando absetzen. Die IP Adresse entspricht dabei dem des Servers und muss dem Eintrag aus der xdebug.ini entsprechend.

pydbgpproxy -i 192.168.2.222:9001 -d 192.168.2.222:9000

Nachdem der Proxy gestartet wurde kann man sich per Client auf die IP Adresse 192.168.2.222:9001 verbinden und gewohnt debuggen.

Konfiguration von Eclipse
Der Proxy muss in der Debug-Konfiguration von Eclipse bekannt gemacht werden. Dazu öffnet man die Peferences View und navigiert zu PHP > Debug > Installed Debuggers. Hier wählt man xdebug aus der Liste aus und öffnet den Bearbeiten-Dialog. Die Checkbox "Use Proxy" ist zu aktivieren. Dem Client ist ein eindeutiger Name zu vergeben (damit der Proxy eine Zuordnung machen kann) und als Proxy Adresse 192.168.2.222:9001 anzugeben.