PHP-Debuggen mit Eclipse

Aus LagoWiki

Version vom 16:16, 17. Aug. 2011 von 109.73.68.18 (Diskussion)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

ueWvMp <a href="http://skdsgohqlqmg.com/">skdsgohqlqmg</a>, [url=http://titdsvrbcgvq.com/]titdsvrbcgvq[/url], [link=http://ufagcbuijgwl.com/]ufagcbuijgwl[/link], http://nvxpwjossflv.com/

Installation

(hier: auf einem Ubuntu-Linux-Server)

Sollte php5, mysql, und die gs-Bibliothek noch nicht installiert sein, geschieht dies mittels

apt-get install apache2 php5 php5-gd mysql-server php5-mysql

Als nächstes kommt die PHP-Entwicklungsumgebung, die Apache-Entwicklungsumgebung und PEAR.

apt-get install apache2-dev php5-dev php-pear make

Als letztes installieren wir xdebug mittels PHP's pecl

pecl install xdebug


Als nächstes müssen wir dem Apachen mitteilen, dass er die xdebug.so (gerade entstandene Bibliothek) benutzen soll. Dafür tragen wir in die /etc/php5/apache2/php.ini folgendes kurz bevor dem [Date]-Eintrag ein.

zend_extension=/usr/lib/php5/20051025/xdebug.so

[debug]
; Remote settings
xdebug.remote_autostart=off
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=[Host/dyndns des eigenen Rechners]
xdebug.remote_port=9000

; General
xdebug.auto_trace=off
xdebug.collect_includes=on
xdebug.collect_params=off
xdebug.collect_return=off
xdebug.default_enable=on
xdebug.extended_info=1
xdebug.manual_url=http://www.php.net
xdebug.show_local_vars=0
xdebug.show_mem_delta=0
xdebug.max_nesting_level=100
;xdebug.idekey=

; Trace options
xdebug.trace_format=0
xdebug.trace_output_dir=/tmp
xdebug.trace_options=0
xdebug.trace_output_name=crc32

; Profiling
xdebug.profiler_append=0
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=0
xdebug.profiler_output_dir=/tmp
xdebug.profiler_output_name=crc32

Eigentlich wird unser Rechner nun als Server verwendet und der eigentlichen "Webserver" spielt in diesem Fall der Client. Dazu brauchen wir eine IP-Adresse, die von außen erreichbar ist, bzw. eine dynamische Adresse von http://dyndns.org. Diese tragen wir dann in obiger Konfiguration an die Stelle Host/dyndns des eigenen Rechners ein.

Als nächstes müssen wir den "Weg" zu unserem Rechner "freimachen". Dazu geben wir den Port 9000 auf unserem Rechner nach außen frei. Das geschieht beispielsweise in der FritzBox mit Einstellungen->Internet->Portfreigabe->Neue Portfreigabe. Dort einen Namen eingeben, TCP auswählen und den Port 9000 und die IP-Adresse des eigenen Rechners eintragen (zu bekommen mit Start->Ausführen->cmd->ipconfig /all).

Als nächstes wird die Firewall bzw. ZoneAlarm meckern. Dort dem Client (Eclypse, darauf komme ich noch) Serverrechte geben.

Konfiguration von Eclipse (PDT)

  • Projekt (PHP) anlegen, dass die Datei- und Verzeichnisstruktur der des Servers nachbildet.
  • Menü: Opend Debug Dialog -> PHP Web Page (Rechtsklick) -> New
  • In dem Dialogfenster folgendes Einstellen:
    • Server Debugger: XDebug
    • PHP Server: New -> Servernamen und URL des Servers eitragen
    • File: zu debuggendes File auswählen
    • URL: Überprüfen, ob der Pfad mit dem Häkchen Auto Generate stimmt, ansonsten manuell anpassen
  • Apply
  • Debug

Falls die Debug-Ansicht nicht automatisch aufgeht, in diese Ansicht wechseln.

Nun kann mit F5/F6/F7 durch den Programmcode gewandert werden. Die jeweils aktive Zeile wird angezeigt und in einem seperaten Fenster die Aktuelle Belegung der Variablen.

Troubleshooting

Nach der Installation kann mittels der Funktion phpinfo();

<?php
   phpinfo();
 ?>

überprüft werden, ob xdebug läuft und wenn ja, mit welcher Konfiguration.

Persönliche Werkzeuge
Lagopixel