PHP-Debugging in XAMPP und UEStudio einrichten

XAMPP ist eine recht einfache Möglichkeit einen Apache-Server als Entwicklungsumgebung mit PHP unter Windows einzurichten. Leider fehlt standardmäßig die Möglichkeit zu debuggen. Hierfür muss XDebug installiert werden. Dies ist aber recht einfach möglich.

Video Anleitung

Anleitung

In dem Beispiel gehen wir davon aus, dass Xampp bereits installiert ist. Für das Debugging muss das XDebug Modul eingerichtet werden. Schaut man auf der XDebug-Downloadseite findet man jede Menge verschiedene Versionen. Letztendlich müssen lokale PHP-Version, Compiler und XDebug-Version, 32bit oder 64bit zusammenpassen, sonst geht es nicht.

Glücklicherweise gibt es einen Wizard, welcher uns die korrekte Version ermittelt und zum Download bereitstellt. In diesen kopiert man einfach den Inhalt seiner phpinfo(); Ausgabe.
Einfach eine phpinfo-Seite im Browser aufrufen, alles markieren, kopieren und im Wizard einfügen.

Anschließend wird die passende Version angezeigt:

Passend zum Download werden auch gleich die Schritte zur Konfiguration angezeigt. D.h. Download durchführen, in dem vorgeschlagenen Ordner abspeichern. Anschließend bearbeiten wir noch die php.ini Datei. Auch hier wird ja passenderweise gleich der richtige Pfad angezeigt.

In der php.ini Datei sind allerdings noch ein paar mehr Eingaben notwendig, damit es läuft:

[xdebug]
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.remote_mode=req
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "c:/temp"
xdebug.collect_params = 4
xdebug.collect_return = on
xdebug.collect_vars = on	
xdebug.show_local_vars = 1

zend_extension = C:\xampp\php\ext\php_xdebug.dll

Anschließend wird der Server über die Konsole neu gestartet. Der Debug-Modus sollte nun laufen.

Update: Xdebug ab Version 3

Ab Version 3 von Xdebug lauten die Zeilen für die Konfiguration so:

xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9000

Debugging mit Visual Studio Code

Für Visual Studio Code gibt es ein passendes Plugin für das Debugging:

Das Plugin bzw. die Extension kann direkt in Visual Studio Code installiert werden. In der PHP-Datei setzt man nun die gewünschten Breakpoints. Dies geht einfach über die Taste F9. Anschließend wird das Debugging über das Menü gestartet:

Als Debugging-Typ wählt man konsequenterweise PHP aus.

Anschließend ruft man im Browser das zu debuggende Script auf. Hierzu muss am Ende der Parameter ?XDEBUG_SESSION_START=myPHPTest angefügt werden.

Ist alles korrekt konfiguriert, hält das Script an den definierten Brechpunkten an und das Debugging kann starten.


Debugging mit UEStudio

Um den in den Genuss des Debuggings zu kommen, benötigt man nun noch eine passende IDE bzw. Client. In meinem Fall verwende ich die Software UEStudio.

Um das Debugging in UEStudio zu nutzen, muss man ein Projekt anlegen:

In den Projekteinstellungen muss nun noch der Debugger auf XDebug eingestellt werden:

Um das Debugging zu starten, klickt man im “Build” Menü auf den Button:

Im Ausgabe-Fenster sollte ein Hinweis erscheinen, dass auf eingehende Debug-Verbindungen gewartet wird:

Im Browser können wir jetzt die PHP-Datei aufrufen und das Debugging starten. Hierzu muss am Ende der Parameter ?XDEBUG_SESSION_START=myPHPTest angefügt werden. Z.B.:

Wenn alles richtig konfiguriert ist, aktiviert sich in UEStudio das Debugging und beim ersten Breakpoint sollte die Ausführung anhalten.

Über das Debug-Menü kann man nun die Ausführung steuern, Variablen überwachen etc.

6 Kommentare

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert