wake-up-neo.com

Xdebug funktioniert nicht mehr. Wo suche ich nach Fehlern?

Ich habe Xdebug installiert und alles war in Ordnung, bis es plötzlich nicht mehr funktionierte. phpinfo () gibt eine Nice XDebug-Ausgabe mit allen Variablen aus.

php -m | grep deb

gibt auch zweimal XDebug (für Zend und PHP), sieht also wieder gut aus. Meine php.ini hat diese Zeilen:

zend_extension=/usr/lib/php5/20090626/xdebug.so
;extension=xdebug.so
xdebug.remote_Host=localhost
xdebug.remote_enable=on
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_connect_back=1

Und doch, wenn dieser Code mit XDebug (aus Netbeans-Dokumenten) ausgeführt wird, bleibt er einfach hängen. Also arbeitet kein IDE mit XDebug.

<?php
$address = '127.0.0.1';
$port = 9001;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die('Unable to bind');
socket_listen($sock);
$client = socket_accept($sock);
echo "connection established: $client";
socket_close($client);
socket_close($sock);

Entsprechend der XDebug-Installation habe ich die Schritte zweimal durchgearbeitet. Was ist los mit meiner Konfiguration? Vielen Dank.

27
valk

Am Ende blieben nur zwei Lösungen übrig - um das Ubuntu-Betriebssystem neu zu installieren oder ein neues VM speziell für xdebug zu installieren, gehe ich für die zweite. Lustige Sache ist alles arbeitete nach dem "RTM" (f = freaking). Ich konnte nicht herausfinden, wie man die Protokolle für XDebug liest, um zu verstehen, wo das eigentliche Problem liegt.

AKTUALISIEREN

Nach einigen Schwierigkeiten löschte ich jede einzelne Zeile in Bezug auf xdebug aus jeder php.ini, die ich besaß. Und diese Zeilen nach /etc/php5/conf.d/xdebug.ini verschoben. Apache und dann PHPStorm neu gestartet, und es funktioniert. P.S. in der Mitte habe ich versucht, xdebug mit pecl, von github und der Ubuntu-Standardversion zu installieren. Ich denke, dass die, die ich kompiliert habe, gerade funktioniert. Und das Protokoll wird auch aktualisiert.

;xdebug configuration
zend_extension = /usr/lib/php5/20090626/xdebug.so
xdebug.remote_Host = 127.0.0.1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_log="/tmp/xdebug.log"
12
valk

Versuchen Sie auf Ihrem Server diesen Befehl:

$ netstat -anp | grep CLOSE_WAIT

Beliebig: 9000 Einträge geben Ihnen XDebug-Probleme. betrachten kill -9 <pid>.

8
Derek Illchuk

Ich hatte dieses Problem auch auf Ubuntu, nachdem ich PHP aktualisiert hatte. Das Aktivieren von HTML-Fehlern in php.ini hat Xdebug mit Netbeans für mich wieder zum Laufen gebracht ...

Sudo vi /etc/php5/Apache2/php.ini
display_errors = On
html_errors = On

Und starte Apache neu:

Sudo /etc/init.d/Apache2 restart

http://ubuntuforums.org/showpost.php?p=9592364&postcount=14

2
Michael Gorham

Ich habe meine überprüft 

netstat -anp

ausgabe und stellte fest, dass die Anzahl der offenen Sockets (im XDebug-Portbereich) vom Master-Prozess auf meinem Remote-Computer [xDebug] ausgeführt wurde.

Den Master-Prozess zu beenden, löste das Problem für mich.

Schien für mich wie eine Hafenüberlaufsituation. Die Informationen könnten für manche von Nutzen sein.

1
Siddharth Tyagi

check port ist nicht belegt, check netbeans ist so konfiguriert, dass dieser Port abgehört wird (ich sehe, dass Sie 9001 haben, 9000 ist in der Regel Standard). Auch wenn ich mit Eclipse debugge, muss ich die Debug-Sitzung immer wieder "beenden und neu starten" hört auf zu arbeiten, verstand nie warum, ich vermute eine abgelaufene Debug-Sitzung

0
max4ever

Prüfen Sie, ob Sie die Haltepunkte in die richtige Datei setzen. Suchen Sie die erste Datei, in die das Skript eintritt (Frontcontroller) Bei Symfony kann es beispielsweise mehrere geben.

0
Darius.V