PhpStorm-Debugger hält nicht an Haltepunkten an; wartet weiter auf xdebug _SESSION_

Lesezeit: 6 Minuten

Benutzer-Avatar
nachlaufender Reflex

Aktualisierte Frage: PhpStorm | WebMatrix (IISExpress) | Xdebug.remote_port | — Welche(n) Port(s) wo platzieren?


Ich führe den localhost-Webserver auf meinem Windows-Computer mit WebMatrix und IISExpress aus. Ich habe PHP und Xdebug darin installiert und beide funktionieren.

Ich habe eine lokale WordPress-Installation.

Ich versuche jetzt, PhpStorm dazu zu bringen, es mit Xdebug zu debuggen.

Wenn ich PhpStorm ausführe, wird die Web-App im Browser mit relevanten Debugging-Parametern im Browser gestartet.

IDE KEY stimmt überein

ide

xdebug.remote_port korrekt konfiguriert ist. (Später stellte ich fest, dass dies falsch, aber nicht irrtümlich ist. Es sollte Port 9000 sein)

xdebug.remote_port

Aber es scheint, dass Xdebug nie mit PhpStorm kommunizieren kann. PhpStorm hört weiter zu und die Ausführung läuft vollständig, ohne an Unterbrechungspunkten anzuhalten.

PhpSturm
PhpSturm

  • 1) Funktioniert das Debuggen überhaupt (z. B. sogar im CLI-Modus / “PHP-Skript”-Typ der Run/Debug-Konfiguration)? 2) Ist PhpStorm derjenige, der auf dem xdebug-Port lauscht (Sie können standard netstat oder herunterladen tcpview von der MS-Website) 3) Haben Sie Pfadzuordnungen eingerichtet (Einstellungen | PHP | Server) – PhpStorm sollte Sie dazu auffordern, wenn es eine xdebug-Anfrage erhält? 4) Ist PhpStorm in der Firewall auf dem xdebug-Port aktiviert (wobei es xdebug ist, der sich mit PhpStorm verbindet)?

    – LazyOne

    15. Juni 2013 um 9:57 Uhr

  • @LazyOne (1) Debugger funktioniert nicht im Typ “PHP Script”. Es überspringt den Haltepunkt vollständig. Bildschirmfoto

    – nachlaufender Reflex

    15. Juni 2013 um 17:51 Uhr


  • @LazyOne (2) Ja, PhpStorm hört zu, aber hört weiter zu. Wenngleich IDE-SCHLÜSSEL und Hafen scheint richtig eingestellt zu sein. Es öffnet iexplore, wenn ich auf Ausführen/Debug drücke (mit diesem IDEKEY (für xdebug_SESSION …)). [this is in a different “webapp” RUN/DEBUG configuration.]

    – nachlaufender Reflex

    15. Juni 2013 um 18:00 Uhr

  • @LazyOne (1) es arbeitet im Typ “PHP-Skript”. Ich weiß nicht, wie ich vorhin anders geschlussfolgert habe/

    – nachlaufender Reflex

    15. Juni 2013 um 18:09 Uhr


  • xdebug.remote_port dient der Kommunikation zwischen xdebug und IDE (xdebug versucht, sich mit diesem Port zu verbinden, um eine Debug-Verbindung herzustellen). Es kann nicht der Port sein, auf dem die Website läuft. Diese 2 Artikel sollten die Arbeit erledigen: 1) confluence.jetbrains.com/display/PhpStorm/… 2) confluence.jetbrains.com/display/PhpStorm/…

    – LazyOne

    16. Juni 2013 um 11:10 Uhr

Benutzer-Avatar
Kapy

Diese Zeilen sind entscheidend, damit es funktioniert (in php.ini):

zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.remote_autostart = 1 # <-------- THIS
xdebug.remote_enable = 1 # <----------- AND THIS

Ohne diese Zeilen wird xdebug niemals auf phpstorm funktionieren 😉

  • Eigentlich mit remote_autostart=0sucht XDebug nach einem Cookie mit dem Namen XDEBUG_SESSION. Etwas aufwändiger einzurichten, funktioniert aber auch (mit PHPStorm). +1 für die einfachere Option.

    – Piskvor verließ das Gebäude

    11. November 2015 um 20:13 Uhr

  • Hat mir gerade Tage des Haareziehens erspart. Funktioniert perfekt!

    – SoManyGoblins

    31. Januar 2016 um 21:41 Uhr

  • Klappt wunderbar. Vielen Dank!

    – Ignacio Sanchez

    29. März 2017 um 10:37 Uhr

  • JAWOHL! Vielen Dank!

    – reichlich

    28. März 2018 um 20:37 Uhr

  • Danke das hat mir geholfen.

    – Shyam Ranpara

    7. September 2018 um 16:52 Uhr

Benutzer-Avatar
peteclark3

Versuchen Sie, den xdebug Listen Port in Ihrer php.ini und Ihrer IDE zu ändern.

Bei der Ausführung von Mac Yosemite bestand für mich das Problem darin, dass ich mit Homebrew installiert habe und einer Anleitung gefolgt bin, die php-fpm verwendet, das Port verwendet 9000 standardmäßig (was mit dem xdebug-Standardport in Konflikt steht) … Ändern von my xdebug.remote_port zu 9001 und das Ändern des xdebug-Ports in phpstorm hat das Problem behoben, obwohl ich vermute, dass dieses Problem bei jedem in jeder IDE auftreten kann. Ich habe den größten Teil eines Tages gegoogelt und diese Lösung nicht gesehen (da ich glaube, dass es so spezifisch für die Installationsmethode ist). Aber ich hoffe, es hilft jemandem.

  • Das hat mir den Tag gerettet. Nicht einen Tag. 4 Tage lang hatte ich mit dem Debuggen zu kämpfen und das Problem wurde durch die Installation mit Homebrew verursacht. Ich bin deinem Rat gefolgt und habe den Port geändert und voila! phpstorm wurde endlich am Haltepunkt gestoppt 🙂

    – Vlad

    5. Mai 2015 um 12:37 Uhr

  • Du rettest auch meinen Tag. Ich danke dir sehr.

    – Thlbaut

    21. Januar 2016 um 14:07 Uhr

  • Ich danke dir sehr! Ich habe nach einem Homebrew-basierten Tutorial installiert, das auch php-fpm verwendet hat, und habe die 9000-Port-Sache nicht bemerkt … Verlorene Stunden hier … Danke!

    – Luis Eduardo

    3. September 2017 um 8:06 Uhr

  • Warum bin ich nicht schon früher auf deinen Beitrag gestoßen. Ich danke dir sehr!

    – Karls

    18. Oktober 2017 um 15:53 ​​Uhr

  • Wollte nur danke sagen! Habe damit gekämpft. Endlich Ihren Kommentar gefunden und bin weiter vor Freude in meinem Haus herumgerannt.

    – Wes-Dollar

    3. März 2018 um 15:39 Uhr

Benutzer-Avatar
Rotareti

Hat ungefähr eine Stunde gedauert, bis ich gemerkt habe, dass dieser Button nicht aktiviert war 😉

„Ausführen“ -> „Auf PHP-Debug-Verbindungen lauschen“

Geben Sie hier die Bildbeschreibung ein

  • Obwohl ich normalerweise eine normale Debug-Konfiguration eingerichtet habe und diese Schaltfläche nicht verwende, war dies das richtige Ticket für mich. Vielen Dank!

    – rfay

    30. Juni 2016 um 22:34 Uhr

  • Omg das war das Problem mit meinem phpstorm. Habe stundenlang gesucht. Ich dachte, es würde automatisch wie Eclipse zuhören

    – ArunTejCh

    4. Dezember 2016 um 3:16 Uhr

  • Viel suchen! Danke @Rotareti, du hast meine Stunden gespart!

    – Manish Goswami

    22. Oktober 2017 um 12:52 Uhr

  • Du bist ein Lebensretter!

    – Alex

    1. April 2018 um 2:42 Uhr

Prüfen Sie zuerst, an welchem ​​Port xdebug arbeitet, Sie finden ihn in Ihrer php.ini unter xdebug.remote_port=9123. Wie Sie in meinem Fall sehen können, ist es auf 9123 eingestellt.
Öffnen Sie nun PhpStorm und gehen Sie zum PHP-Debug, siehe Screenshot:
Geben Sie hier die Bildbeschreibung ein

Unter Xdebug finden Sie den Debug-Port, stellen Sie sicher, dass sein Wert derselbe ist wie in der php.ini-Datei unter xdebug.remote_port (9123 in meinem Fall).

Ich hoffe es hilft

Bei mir änderte sich die Zeile:

xdebug.remote_host=localhost zu xdebug.remote_host=myComputerIP

(Mac-Benutzer: Führen Sie im Terminal ifconfig aus, um Ihre IP zu finden.)

  • 127.0.0.1 funktioniert überall, man muss es nicht herausfinden 😉

    – Piskvor verließ das Gebäude

    11. November 2015 um 20:06 Uhr

  • da ich den vagrant (guest box) 127.0.0.1 debugge, hat es nicht funktioniert. 😉

    – unismoke.com

    12. November 2015 um 20:35 Uhr


  • Dude Top-Antworten haben mir nicht geholfen und ich habe zwei Tage lang an meinen Haaren gezogen, ich wünschte, ich könnte das tausend Mal positiv bewerten

    – Akash Singh

    22. Dezember 2016 um 20:54 Uhr

Könnte eine Firewall sein.

Tag 572 … Habe immer noch nicht geschlafen oder gegessen … Aber ich habe endlich den Übeltäter gefunden: Windows Defender!

Im Grunde hatte ich eine Firewall, die die Chrome-Erweiterung JetBrains IDE Support daran hinderte, Daten über die Standardadresse 127.0.0.1:63342 an PhpStorm zu senden.

Bearbeiten

Tag 864 … Dasselbe Problem ist wieder aufgetreten, diesmal unter Linux … Aber ich habe endlich den Schuldigen gefunden: Ubuntu-Firewall!

Im Ernst, das ist mir ein paar Monate später mit Linux wieder passiert, und es war wieder die Firewall. Das Deaktivieren der Firewall hat es gelöst sudo ufw disable – Wenn Sie sich um die Firewall kümmern und sie aktiviert lassen möchten, müssen Sie sich eingehend damit befassen, eine Art Whitelist dafür zu erstellen.

  • 127.0.0.1 funktioniert überall, man muss es nicht herausfinden 😉

    – Piskvor verließ das Gebäude

    11. November 2015 um 20:06 Uhr

  • da ich den vagrant (guest box) 127.0.0.1 debugge, hat es nicht funktioniert. 😉

    – unismoke.com

    12. November 2015 um 20:35 Uhr


  • Dude Top-Antworten haben mir nicht geholfen und ich habe zwei Tage lang an meinen Haaren gezogen, ich wünschte, ich könnte das tausend Mal positiv bewerten

    – Akash Singh

    22. Dezember 2016 um 20:54 Uhr

Benutzer-Avatar
Scott Weber

Wenn jemand anderes auf dieses Problem stößt und Vagrant verwendet, wurde es endlich für mich behoben:

xdebug.remote_host=10.0.2.2

Das muss die IP-Adresse Ihres lokalen Computers aus der Vagrant-Box sein, und 10.0.2.2 ist die Standardeinstellung. Wenn Sie sich per SSH in Ihre Vagrant-Box einloggen, wird die IP angezeigt, von der aus Sie sich angemeldet haben, wenn Sie dies bestätigen möchten.

Ich weiß, dass dies für das spezifische Setup des OP nicht direkt relevant ist, aber dieser Beitrag wird in vielen xdebug / PhpStorm-Google-Suchanfragen angezeigt. Hoffentlich kann dies jemand anderem helfen.

1310690cookie-checkPhpStorm-Debugger hält nicht an Haltepunkten an; wartet weiter auf xdebug _SESSION_

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy