phpstorm xdebug mit einem symfony2-Projekt

8

Ich versuche eine symfony2-Anwendung mit xdebug und phpstorm zu debuggen.

Meine lokale Entwicklungsumgebung ist Ubuntu 14.04 mit apache2 und Xdebug Version 2.2.7

Ich habe dies funktioniert auf einem anderen php (nicht symfony2) Projekte mit den folgenden Anleitungen:

Ссылка

Ссылка

Wenn ich den bookmarlet ausfühle, um den Cookie zu setzen und mit dem Debuggen dieses symfony2-Projekts zu beginnen, erkennt phpstorm die eingehende Verbindung (die ich akzeptiere), aber sonst passiert nichts. Es hört in keinem Haltepunkt auf.

Ich habe das symfony2 phpstorm plugin. Ich habe versucht, es zu deaktivieren und nichts zu holen.

Diese Antwort sah gut aus, aber es war auch nicht der Trick

Als letztes habe ich versucht, die Server-Debug-Konfiguration zu ändern und Pfadzuordnungen zu deaktivieren. Auf diese Weise startet phpstorm das Debugging, aber es bricht in der Datei app_dev.php ab, statt nach einem gesetzten Breakpoint.

Ich stecke hier fest, jede Idee wäre appreciite

AKTUALISIEREN

Weitere Informationen, die ich nicht erwähnt habe:

  • Ich benutze Firefox, ich versuche Debug Dev-Umgebung
  • Haltepunkte befinden sich in einer eigenen Steuerung, nicht in einer eigenen.

AKTUALISIEREN

Hier ist meine xdebug Konfiguration

%Vor%     
y2josei 16.04.2015, 09:59
quelle

5 Antworten

3

Es war ein Kartierungsproblem. Das Folgende sind die Schritte, die den Trick gemacht haben

  1. Deaktivieren Sie die Pfadzuordnung unter Einstellungen & gt; Sprachen & amp; Frameworks & gt; PHP & gt; Server & gt; Deaktivieren Sie "Pfadzuordnungen verwenden
  2. "
  3. Starten Sie das Debuggen
  4. Der berühmte "Remote-Dateipfad" path / to / script / on / the / server.php 'ist keinem Dateipfad im Projekt zugeordnet "finally
  5. Dann könnte ich den Abschnitt zur Fehlerbehebung in offiziell verfolgen Anleitung Einrichten von Pfadzuordnungen

Hoffe das hilft jedem anderen

    
y2josei 21.04.2015, 07:26
quelle
9

Ich weiß nicht, welchen Browser Sie verwenden, aber in Chrome verwende ich die Xdebug-Hilfserweiterung.

Sobald die Erweiterung installiert ist, klicken Sie mit der rechten Maustaste darauf & gt; Optionen und wählen Sie PHPStorm als IDE.

Dann hören Sie auf die Verbindung auf PHPStorm mit der Schaltfläche in der Nähe des Debuggens.

BEARBEITEN :

Hier ist meine Konfiguration von XDebug:

%Vor%

Sind Sie sicher, dass XDebug ordnungsgemäß auf Ihrem Computer installiert ist?

Wenn in PHPStorm & gt; Run & gt; Edit Configurations... , füge ein PHP Web Application Debug Profil hinzu und fülle es wie folgt:

  • Name : Acme-Projekt
  • Server : apache2 (möglicherweise müssen Sie Ihren hinzufügen - Name, Port, Adresse, Debugger)
  • Start-URL : /app_dev.php
  • Browser : Standard

Drücken Sie OK und Sie sind fertig!

    
Rybus 16.04.2015 10:03
quelle
6

Ich hatte ein ähnliches Problem, bei dem es sich wiederum um ein Mapping-Problem handelte, bei dem ein Symfony 2-Projekt mithilfe von PHPStorm remote debuggt wurde.

Wenn PHPStorm die src-Dateispeicherorte nicht abbilden kann, wird die erste Codezeile in app_dev.php unterbrochen (wenn Sie 'Break in first line' gesetzt haben), aber dann direkt durch alle gesetzten Breakpoints weitergehen / src (z. B. Controller, Modelle usw.) und weist keinen Fehler auf.

  1. Gehe zu Einstellung - & gt; Sprachen & amp; Frameworks - & gt; PHP - & gt; Server
  2. Wählen Sie Ihren Server im mittleren linken Bereich (oder fügen Sie ihn mit '+' hinzu)
  3. Markieren Sie 'Pfadzuordnungen verwenden (wählen Sie, ob der Server remote ist oder ob Symlinks verwendet werden)'
  4. Fügen Sie Zuordnungen hinzu, so dass / app, / src und / web zugeordnet werden. Dies können individuelle Zuordnungen sein, aber es ist besser, wenn möglich, eine Zuordnung auf höherer Ebene auf / festzulegen, die alle abdeckt.

Sobald PHPStorm diese Pfade abbilden kann, stoppt es und Breakpoints und sinnvolle Fehlersuche können beginnen.

    
stanhope 15.09.2015 09:58
quelle
2

Wenn Sie feststellen, dass PHPStorm weiterhin nach Mappings fragt, versuchen Sie, ein Mapping auf der höchsten Ebene des Projekts zu erstellen, wie @stanhope es erwähnt, das sollte ausreichen.

Meine erste Zuordnung wurde fälschlicherweise auf die Datei app_dev.php in / web gesetzt, was dazu führte, dass die IDE mich ständig nach Zuordnungen zu Dateien in Herstellerverzeichnissen fragte.

z.B. /vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Response.php

    
Carlton 12.05.2016 13:58
quelle
1

Ich musste auch das Laden des Klassencache (symfony 2.7) auskommentieren. Ich habe es vorübergehend in web/app_dev.php

getan %Vor%

Ansonsten hat das Debuggen in bootstrap.php.cache stattgefunden oder die Breakpoints haben nicht funktioniert.

    
FlorIT 18.07.2016 18:47
quelle

Tags und Links