Problem
Für das Debugging von PHP Webanwendungen wird eine PHP Debuggingumgebung benötigt.
Ansatz
Die kostenlose Anwendung WAMPSERVER (hier v.3.0.0) wird mit „Eclipse for PHP Developers“ (MARS.2) konfiguriert, um das Debugging zu ermöglichen.
Vorgehensweise
- Download von Wampserver unter http://www.wampserver.de
- Installation als Administrator (rechte Maustaste „als Administrator ausführen“)
- z.B. in c:\dev\wamp
- Download von „Eclipse for PHP Developers“ unter http://www.eclipse.org
- Entpacken von „Eclipse for PHP Developers“ in ein gewünschtes Verzeichnis
Lösung
Nachdem der Wampserver gestartet wurde und unter der URL http://localhost erreichbar ist, kann bereits mit der Konfiguration von Eclipse begonnen werden.
- Eclipse starten
- Workspace direkt im WWW root auswählen (bspw. bei Installation in c:\dev\wamp)
- Mit OK bestätigen
- Im Menü „Window -> Preferences“ wählen
- PHP Executable hinzufügen
- PHP Executable angeben
- Unten auf den Button „Next->“ klicken (nicht im Screenshot da Edit-Dialog)
- Debugger angeben -> XDebug auswählen!
- Mit okay bestätigen
- Einstellungen unter Menu->Preferences->Debug überprüfen (ist der angelegte Debugger aktiviert?).
- Web Browser angeben (ich empfehle Google Chrome)
- Neues PHP Projekt anlegen
- Folgende Einstellungen tätigen
- Rechtklick auf das neu angelegte Projekt -> New -> PHP File
- Die Datei beispielsweise index.php benennen
- Test-Sourcecode in index.php einfügen
<?php $i=0; $i++; $i=$i+1; print $i; ?>
- Breakpoint setzen (Doppelklick links neben die Zeile)
- Debug Configuration für die Website anlegen (rechts neben die Debug Wanze klicken -> Debug Configurations)
- Debug Configurations -> PHP Web Application -> index -> Server
Die Startdatei /Bier.de/index.php entspricht auch dem Aufruf über http://localhost/Bier.de/index.php, da wir den Workspace im c:\dev\wamp\www-rootverzeichnis angelegt haben. - Debug Configurations -> PHP Web Application -> index -> Debugger
Wenn „Break at First Line“ ausgewählt ist, hält der Debugger automatisch bei der ersten Zeile an. Dies ist nicht immer gewünscht! - Debug Button klicken
- Bestätigen dass auf die PHP Debug Perspektive gewechselt wird
- Für das Javascript-Debugging Empfehle ich dringend den ausgereiften Chrome Javascript Debugger zu verwenden. Dieser lässt sich in Chrome folgendermaßen starten:
- Hier kann man Breakpoints setzen und den Objektbaum jederzeit einsehen: