php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.04.2011, 08:38  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard "Remote" debuggen

Hallo zusammen,

ich habe das Problem schon in der Typo3-Mailing gepostet wo man mir auch Tipps gegeben hat, aber konkret funktioniert hat es bei mir dann doch nicht.

Folgendes habe ich:

Win 7 mit Netbeans und xDebug-Plugin, Firefox mit easyDebug Addon
VMWare mit Debian Lenny, Apache 2, PHP 5.2.6, MySQL und Typo3

Jetzt will ich eine Erweiterung für Typo3 debuggen (ist nicht meine eigene, sondern ich will sie nur etwas anpassen) und habe das Problem, dass ich unter Win 7 graphicsmagick mit Typo3 nicht zum Laufen bringe, aber genau das brauche ich für die Erweiterung.

Also bin ich auf die Idee gekommen, dass ich ggf. ja Typo3 auf der VMWare laufen und parallel dazu auf meinem Win 7 debuggen könnte.

Jetzt habe ich mir eine Freigabe via Samba auf Lenny eingerichtet die den htdocs-Ordner umfasst in dem Typo3 liegt, das in Netbeans eingebunden, xDebug in Netbeans gestartet, xDebug in der php.ini unter Debian eingetragen:

Zitat:
zend_extension = \path\to\php_xdebug-2.1.1-5.3-vc9.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
Was mir jetzt nicht klar ist, wie teile ich Netbeans mit, dass es nicht auf dem Localhost, sondern unter 192.168.0.10:9000 lauscht? Oder noch besser gefragt: Geht es denn generell, dass ich remote debugge? Wenn ja, was muss ich denn ggf. noch dafür anpassen?

Danke und Grüße,

Dirk
DirkHo ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.04.2011, 10:39  
Erfahrener Benutzer
 
Registriert seit: 24.10.2008
Beiträge: 298
PHP-Kenntnisse:
Fortgeschritten
KarlEgon befindet sich auf einem aufstrebenden Ast
Standard

Ähm
Code:
xdebug.remote_host=localhost
KarlEgon ist offline   Mit Zitat antworten
Alt 28.04.2011, 13:08  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Ja, darüber habe ich mir auch schon Gedanken gemacht, aber der Host ist ja localhost - PHP und somit Typo3 laufen ja auf dem Lenny oder verstehe ich an dem Namen was falsch?!
DirkHo ist offline   Mit Zitat antworten
Alt 28.04.2011, 13:10  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Dort wird eingetragen, wohin sich XDebug verbinden soll. Also die IP/ der Port des Rechners, der debuggen will sozusagen. Dass dies nicht dynamisch beim Debuggen mitgegeben wird, ist bei XDebug leider so. Sprich: Es kann nur einer Debuggen.

Wenn das Ding in VMWare läuft, was sinnvoll ist, ist das NICHT localhost. Auch wenn du physisch die gleiche Maschine hast, ist das VMWare ein gekapselter logischer Rechner mit Netzwerk und allem drum und dran. Localhost kommt dann nicht aus VMWare raus zu deinem Netbeans, was ja auf dem richtigen Rechner läuft.

Nachtrag zum Ablauf: Das andere Ende, also Netbeans und Eclipse, lauschen erst mal generell auf dem Debugger-Port, der eingetragen ist bzw. per Standard vorgegeben ist. Sie rufen eine speziell präperierte URL auf, damit das XDebug weiss, dass es die Session zu starten hat. Dabei ist XDebug der Akteur und verbindet sich mit dem Zielrechner und damit deinem Netbeans.
Das Netbeans weiss nicht wirklich, woher der Connect kommt, es wird dir lediglich vertrauen, dass der, der verbindet auch der ist, den es um ein Debugging des Aufrufes gebeten hat.

Denk dran, in der php.ini die Request-Zeit deutlich hochzusetzen, sonst bricht es dir bei Erreichen der 30 Sekunden einfach ab.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih

Geändert von mepeisen (28.04.2011 um 13:15 Uhr).
mepeisen ist gerade online   Mit Zitat antworten
Alt 28.04.2011, 21:12  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank, das werde ich am WE probieren...

Viele Grüße,

Dirk
DirkHo ist offline   Mit Zitat antworten
Alt 28.04.2011, 21:54  
Benutzer
 
Registriert seit: 24.12.2010
Beiträge: 68
PHP-Kenntnisse:
Anfänger
kaptainIglo befindet sich auf einem aufstrebenden Ast
Standard

Darf ich mich noch dranhängen mit einer Frage zu dem Thema?

Was kann ich mit dem XDebug anfangen bzw. wie setzt Ihr XDebug ein?

Das einzige was ich kenne ist das ich den Inhalt von Variablen zu bestimmten Zeitpunkten sehen kann. Man ließt immer viel über die Installation. Aber so richtige Praxisbeispiele fehlen mir.
Vielleicht kann mir jemand das ein wenig näher bringen?
kaptainIglo ist offline   Mit Zitat antworten
Alt 29.04.2011, 09:23  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

"Richtiges" Debuggen heisst auch, Code-Zeile für Code-Zeile zu sehen, wo das Script hinspringt Setzte einen Breakpoint und die IDE (Eclipse/Netbeans) zeigen dir dann an, wann PHP an dieser Code-Zeile ankommt. Dann kannst du zur nächsten Code-Zeile gehen usw. Das ist hilfreich, wenn du sehen willst, ob er beispielsweise eine Code-Zeile durchläuft.
Insgesamt ist es einfach auch eine erhebliche Arbeitserleichterung statt ständig ein Var_dump zu machen und dann wieder komplett durch und dann ein neues var_dump.
Es geht beim Debuggen mit XDebug nicht so sehr um den Inhalt der Variablen, sondern wie gesagt um den Programmablauf.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist gerade online   Mit Zitat antworten
Alt 29.04.2011, 09:57  
Erfahrener Benutzer
 
Registriert seit: 17.08.2010
Beiträge: 216
PHP-Kenntnisse:
Fortgeschritten
Dormilich befindet sich auf einem aufstrebenden Ast
Standard

zusätzlich dazu hat XDebug noch schönere (besser formatierte) var_dump() Ausgaben
Dormilich ist offline   Mit Zitat antworten
Alt 29.04.2011, 10:22  
Erfahrener Benutzer
 
Registriert seit: 22.07.2004
Beiträge: 226
DirkHo befindet sich auf einem aufstrebenden Ast
Standard

Es erleichtert einem ganz einfach die Fehlersuche, da du eben live mitverfolgen kannst, wie (dein) Code zur Laufzeit ausgeführt wird, welche Werte als Parameter übergeben werden,...

Klar kannst du auch var_dumps oder print_rs machen, aber wenn du einmal debuggt hast wirst du das nicht mehr missen wollen Zumal es in anderen Programmiersprachen nicht so einfach möglich ist ein var_dump oder eben print_r (-Äquivalent) mal schnell auszuführen.
DirkHo ist offline   Mit Zitat antworten
Alt 29.04.2011, 11:33  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Ich hab bei mir lokal (mit CodeIgniter) übrigens nur durch das installieren von XDebug schon eine Ausführ-Zeit-Verlängerung von > 3 Sekunden. Also XDebug nur wegen den hübschen var_dump() Ausgaben zu installieren halte ich für keine gute Idee.

Just my 2 cents
cycap ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] xml_parse debuggen ziv PHP Tipps 2010 7 19.08.2010 15:22
Zend Mail debuggen chunky PHP Tipps 2010 4 04.03.2010 23:08
[Erledigt] Javascript/Ajax debuggen chunky JavaScript, Ajax und mehr 3 14.02.2010 12:41
[Erledigt] mysqli Debuggen Koala Datenbanken 6 02.01.2010 03:59
[Erledigt] Wie Script debuggen? Ind3X PHP Tipps 2009 7 29.10.2009 17:13
debuggen von DOMDocument unter eclipse belphegor Off-Topic Diskussionen 1 20.10.2009 22:13
[Erledigt]Brauche Hilfe beim Script Debuggen fuckinghot19 PHP Tipps 2009 10 25.04.2009 23:21
Debuggen mit Ajax julius-krebs PHP-Fortgeschrittene 2 22.04.2009 22:51
Hilfe! Ich will debuggen! shor PHP Tipps 2009 7 04.04.2009 15:42
Curl - request und antwort debuggen? Frank Burian PHP-Fortgeschrittene 4 02.02.2009 12:51
brauche hilfe beim debuggen... ich steh aufm sclauch PHP Tipps 2005-2 2 30.10.2005 13:19
Debuggen mit Eclipse Bronks Off-Topic Diskussionen 6 18.07.2005 10:16
PHP mit Zend debuggen inu PHP Tipps 2004 2 20.07.2004 12:54
Anzahl von Queries rausfinden PHP Tipps 2004 2 01.07.2004 17:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xdebug remote debugging, xdebug remote host, \php5.dll auf dem computer fehlt\, windows 7 xdebug vmware, netbeans 7 xdebug, eclipse netbeans remote debug, da php5.dll auf dem computer fehlt, php5.dll auf dem computer fehlt, netbeans debug apache linux paßwort, xdebug on debian for netbeans, xdebug einrichtung remote, netbeans mit xdebug hält bei einstieg aber nicht am haltepunkt, php remote debuggen, auf welchem port lauscht der zenddebugger?, php_xdebug-2.1.1-5.3-vc9.dll, xdebug netbeans typo3, apache \da php5.dll auf dem\, xdebug on server lenny 5.2, eclipse remote typo3 debug, xdebug remote netbeans

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:49 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum