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