2015-10-20 9 views
5

Im kämpfen seit gestern mit einem völlig seltsamen Problem, das aus dem Nirgendwo auftritt. Ich arbeite mit PHPStorm in einem Symfony-Projekt. PHPUnit Tests laufen wie gewohnt. Wenn ich den Hörmodus in der IDE für Debugger-Verbindungen aktiviere und die Tests durchführe, stürzt phpunit ein und die IDE stoppt automatisch nach 30 Sekunden. Ich denke, es hat nichts mit der Idee zu tun. Wenn ich MacGDBp benutze, erlebe ich dasselbe. Ich habe alle Firewall-bezogenen Sachen auf meinem OSX 10.11 überprüft und php in einer neuen Brew-Umgebung installiert. PHP ist Version 5.6 vom lokalen OSX und von Brew.PHPUnit Einfriert, wenn mit xdebug aktiv und hören zu hören

Ich bin ziemlich Blind ohne Debugger: -o

+0

Ich habe das gleiche Problem - sieht aus wie ein phpstorm Fehler für mich, wie es nur nach dem Upgrade auf phpstorm 10 passiert – gries

+0

Ich erfahre dies auch. – Michelle

+0

Ich hatte etwas ähnliches mit PHPUnit Tests, die nicht in der IDE enden. Es wurde darauf geachtet, die Tests außerhalb der IDE auszuführen und die Coverage-Daten manuell zu verknüpfen. – AdrianGW

Antwort

0

Stellen Sie sicher, die im Hintergrund laufen nicht bereits eine andere Debug-Sitzung haben.

0

Xdebug kann immer nur einen laufenden PHP-Prozess abhören. Dafür gibt es normalerweise zwei Möglichkeiten.

1) Wie @adrianGW sagt, könnte ein anderer Prozess bereits an den Debugger angehängt sein.

2) Ihr Programm versucht einen anderen PHP-Prozess zu laden und dieser Prozess kann erst gestartet werden, wenn xdebug den aktuellen Thread freigibt. Das ist normal, dass PHPunit Tests in ihren eigenen Threads ausführt, damit sie nicht gegenseitig ihre envs durcheinander bringen. Oder Sie machen eine HTTP-Anfrage in Ihrer Anwendung zu einem PHP-Skript auf dem gleichen Server, und diese zweite Anfrage wartet auf die erste, so dass Sie bis zum ersten Skript-Datum gesperrt sind.

Es gibt zwei Fixes in PHPstorm :

1) Sie können Max Simultaneous Conections auf eine Zahl größer als 1

2) Sie Ignore external connections through unregistered servers configurations ändern aktivieren können, aber das wird nur funktionieren, wenn der Grund für die zusätzlichen Fäden so etwas wie eine Anforderung an eine andere Domain auf die ist gleicher Server, den xdebug als nicht registrierten Server unterscheiden kann.