Hai Tom,
im Folgenden beziehe ich mich jetzt auf PHP 5, Apache 2, Eclipse
Ganymede, PHPEclipse 1.2 und Windows.
(Genauere Versionsangaben sind mir nicht mehr bekannt).
1. Mittels Software-Updates PHPEclipse installieren
Siehe http://www.phpeclipse.com/wiki/Installation
2. Dann den DBG-Debugger herunterladen und installieren
http://www.php-debugger.com/dbg/downloads.php
Mit dem xdebug hat das bei mir nicht funkioniert.
=> Siehe weiter unten den letzten Punkt des Chat-Protokolls.
Es muss afaik sogar deaktiviert werden (denn es ist
automatisch mit PHPEclipse dabei)
3. Die php_dbg.dll muss dann ins ext-Verzeichnis von PHP.
4. Den Debugger registrieren. Hierfuer die php.ini editieren
und am Ende folgendes hinzufuegen:
[Debugger]
extension=php_dbg.dll
debugger.enabled=On
debugger.profiler_enabled=On
debugger.timeout_seconds=600
debugger.JIT_enabled=Off
debugger.JIT_host=clienthost
debugger.JIT_clientport=7869
Wichtig an dieser Stelle ist der Clientport. Denn ueber diesen
sprichst du spaeter im Browser den Debugger an
5. phpinfo() sollte nach Neustart des Apaches dann ganz am Ende
anzeigen, dass DBG in Betrieb ist.
Startet der Apache an dieser Stelle nicht mehr, so liegt es an
einer falschen Version der dll.
6. Unter Eclipse selbst muss dann noch der Interpreter angegeben
werden. Also der Pfad zur php-win.exe.
7. Debug-Konfiguration (Dies ist der schwierigste Punkt)
Wie auch unter Java auf das Debug-Symbol klicken (bzw. auf den
Pfeil daneben) und eine neue Konfiguration anlegen.
- Remote Debug und Cross Plattform debugging aktivieren
- Open with DBGSession URL in internal Browser wahlweise aktivieren
(ich rate jedoch dazu, einen von Eclipse unabhaengigen Browser zu benutzen)
Ausschnitt:
"Der Remote Sourcepfad müsste schon auf dem absoluten Pfad zur Datei,
welche gedebugged werden soll stehen. Wenn nicht, ist dies anzugeben.
Bei uns wäre das G:\IDE\xampp\htdocs\development\iEngine (da die zu
debuggende Datei index.php dort liegt)
Jetzt noch das Mapping. Unter Mapped Path klickt man auf Add und trägt
den Pfad von eben sowohl als Local Path als auch als Remote Path ein.
Jetzt steht also sozusagen 3 mal der gleiche Pfad da. Es funktioniert
wirklich nur so. Lässt man die Pfade weg tut sich nichts.
8. Eclipse und Apache neustarten
9. Debug starten
10. Im Browser aufrufen:
http://localhost/myproject/test.php?DBGSESSID=1@clienthost:10001
Wobei der Clienthost aus der php.ini genommen werden muss.
DBGSESSID=1 wird benoetigt um das Debugen zu registrieren.
Moechtest du eine Debugsession wieder killen, so gebe statt dessen
DBGSESSID=0 in der URL ein.
Was einzelne Probleme mit den Ports, Projekteinstellungen oder Fehlermeldungen
angeht, wirst du hier fuendig werden:
http://www.ilimitado.de/blog/programmierung/php-debugger-fur-eclipse/
Das war ueberigens die einzige(!) Anleitung netzweit, mit der es bei
mir funktioniert hat!
Allgemein fuehren die unterschiedlichen Versionen meiszt zu Problemen.
Hier genaustens darauf achten welche Versionen von welchem Plugin
unterstuetzt werden. Eine falsche .dll bringt einem nur Probleme ein
und fuehrt auch nicht zum gewuenschten Ergebnis.
Beachte auch, dass es bereits ein paar Monate her ist, als ich das bei
mir zum Laufen bekommen habe. Gut moeglich, dass sich mitterweile so
manches geaendert hat (Zumindest hatten PHPEclipse neulich einen
Relaunch ihrer Seite.. das koennte man so deuten als seien sie weiterhin
fleiszig am herumwerkeln).
So, und dann hatte ich mir damals noch Notizen gemacht, welche ich jetzt
nicht mehr ganz reproduzieren kann (habe aber im Hinterkopf dass sie
wichtig waren). Vllt. hilft es dir ja weiter. ..
Auszug des Chats:
[ee] deaktivier mal unter environemnt(1)->remote debug die option
"open..internal brwoser".. und rufe dann die URL manuell im externen
browser auf ( in etwa sowas:
http://localhost/myproject/test.php?DBGSESSID=1@clienthost:10001)..
[ee] und dann stell noch unter window->preferences->phpeclipse->Project Defaults
als Project URI folgendes ein: http://localhost/myproject dann klappts auch
im internen browser.
[ee] muss man dann fuer jedes projekt aendern.. aber meisstens arbeitet man ja
eh nur mit einem..
[zr] was ist denn hiermt: http://www.xdebug.org/
[zr] war doch beim phpeclipse schon dabei
[ee] das bringt nichts.. das musst du deaktivieren.. steht glaueb ich auch im
tutorial.. wenn nicht, dann wie folgt: help->software updates->installed
usw.. nach xdebug feature suchen.. und auf uninstall klicken. danach eclipse
neustarten.. die beiden sachen vertragen sich nicht zusammen..
PS: Ich hoffe sehr, dass sich der Konfigurationsausfwand in den neueren
Versionen reduziert hat.
PPS: Wenn Du es zu Laufen bekommst, und Unterschiede hinsichtlich der
Installation und Konfiguration gefunden hast, kannst du das ja
anschlieszend hier posten.
MfG,
Sympatisant
"Only half the World is Teflon and Asbestos, the Rest is burnable"