Ankündigung

Einklappen
Keine Ankündigung bisher.

xDebug-Session erst ab einer bestimmten Stelle im Source-Code (PHPStorm)?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • xDebug-Session erst ab einer bestimmten Stelle im Source-Code (PHPStorm)?

    Hallo,

    Ich nutze xDebug mit PHPStorm für Remote-Debugging.
    Meine Webanwendung ist zweigeteilt bzw. existiert zwei Mal.
    Beides läuft am gleichen Server.

    Es gibt eine
    Entwicklerversion: mywebapp.com/myapp_dev
    und es gibt eine
    Produktivversion: mywebapp.com/myapp

    Debugging möchte ich jedoch nur starten wenn
    mywebapp.com/myapp_dev
    aufgerufen wird.
    Mit den Standard-xDebug-Einstellungen für das php.ini beim Server wird aber immer versucht eine Debug-Session zu starten, wenn ich irgendwo auf mywebapp.com zugreife.

    Standard-Einstellung:
    Code:
    [XDebug]
    zend_extension = "C:\xampp\php\ext\php_xdebug-2.5.4-5.6-vc11.dll"
    xdebug.remote_enable = 1
    xdebug.remote_host = 10.50.21.224
    xdebug.remote_port = 137
    Ich will jedoch dass meine Debug-Session nur in der Entwicklungsversion startet.
    Deswegen habe ich mir gedacht dass ich einfach auf JIT-xDebug umsteige und das Debugging im Code der Entwicklungsversion start emit xdebug_break().

    JIT-Einstellung:
    Code:
    [XDebug]
    zend_extension = "C:\xampp\php\ext\php_xdebug-2.5.4-5.6-vc11.dll"
    xdebug.remote_mode = jit
    xdebug.remote_enable = 1
    xdebug.remote_host = 10.50.21.224
    xdebug.remote_port = 137
    Leider ist es egal ob ich Produktiv oder Entwicklerversion aufrufe und ob im Code ein xdebug_break() vorkommt. Die Session wird ganz normal, wie auch zuvor gestartet.
    Irgendetwas scheine ich falsch eingestellt zu haben, oder ich habe etwas am JIT-xDebugging falsch verstanden.

  • #2
    Warum steuerst du das nicht per .htaccess?

    https://gotterdemarung.wordpress.com...g-in-htaccess/

    Kommentar


    • #3
      Zitat von hellbringer Beitrag anzeigen
      Warum steuerst du das nicht per .htaccess?

      https://gotterdemarung.wordpress.com...g-in-htaccess/
      Geil! Hat sofort funktioniert.
      Habe zuvor noch nicht hinterfragt was diese .htaccess darstellen sollen xD
      Gut, die sind also doch für irgendetwas gut ^^
      Vielen Dank!

      Kommentar


      • #4
        Zitat von hellbringer Beitrag anzeigen
        Warum steuerst du das nicht per .htaccess?

        https://gotterdemarung.wordpress.com...g-in-htaccess/
        Hallo ich habe jetzt doch noch einmal eine Frage. Vllt kannst du mir da weiterhelfen bzw. vllt hast du schon einmal von dem Problem gehört.

        Wenn ich meine Webanwendung im Browser lade, so funktioniert das Debuggen mit PHPStorm bzw. mit xDebug ohne Probleme.
        Mit dem JIT-Debugger kann ich auch bestimmen wo im Code der Debugger startet.

        Aber sobald ich in der Anwendung aktiv werde und irgendeine Aktion starte, die über das erste laden der Webanwendung hinausgeht, so funktioniert das Debuggen nicht länger.
        Setze ich ein xdebug_break() im php-Code dieser Aktion, so stoppt die Anwendung zwar in der nächsten Zeile in diesem Code, aber es wird keine Debug-Session in PHPStorm gestartet.
        Ich stoppe lediglich meine Anwendung in einer bestimmten Zeile im Code, was mir herzlich wenig bringt, wenn ich nicht weiterspringen kann im Code.

        Kennst du oder vllt irgendjemand anders das Problem?

        Kommentar


        • #5
          Zitat von StefEAG Beitrag anzeigen

          Hallo ich habe jetzt doch noch einmal eine Frage. Vllt kannst du mir da weiterhelfen bzw. vllt hast du schon einmal von dem Problem gehört.

          Wenn ich meine Webanwendung im Browser lade, so funktioniert das Debuggen mit PHPStorm bzw. mit xDebug ohne Probleme.
          Mit dem JIT-Debugger kann ich auch bestimmen wo im Code der Debugger startet.

          Aber sobald ich in der Anwendung aktiv werde und irgendeine Aktion starte, die über das erste laden der Webanwendung hinausgeht, so funktioniert das Debuggen nicht länger.
          Setze ich ein xdebug_break() im php-Code dieser Aktion, so stoppt die Anwendung zwar in der nächsten Zeile in diesem Code, aber es wird keine Debug-Session in PHPStorm gestartet.
          Ich stoppe lediglich meine Anwendung in einer bestimmten Zeile im Code, was mir herzlich wenig bringt, wenn ich nicht weiterspringen kann im Code.

          Kennst du oder vllt irgendjemand anders das Problem?
          Hat jemand eine Idee?

          Kommentar


          • #6
            Viiiel zu wenig Infos um eine Aussage treffen zu können.
            • Wie genau debugst Du?
            • Welche Enstellungen nutzt Du zum debuggen in PHPStorm?
            • Was steht in der htaccess jetzt drin?
            • Wirken irgendwelche Rewrite regeln?
            • Wie sieht das Dateisystem genau aus?
            • Liegen Dateien ausserhalb des Projekt-Roots?

            usw.
            PHP-Manual ¡ mysql_* ist veraltet ¡ Debugging: Finde DEINE Fehler selbst ¡ Passwort-Hashing ¡ Prepared Statements

            Kommentar

            Lädt...
            X