Ankündigung

Einklappen
Keine Ankündigung bisher.

xdebug funktioniert nicht unter Wampserver3.1.7 und PHPStorm 2018.3.4

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

  • xdebug funktioniert nicht unter Wampserver3.1.7 und PHPStorm 2018.3.4

    Hallo Zusammen,

    das Problem vorab: der debugger bleibt am breakpoint nicht stehen.

    ich hatte bis jetzt nur PHP7.1 und PHPStorm auf meiner Maschine installiert. Immer wieder gab es Probleme mit dem Built-In WebServer. Ich habe immer wieder unerwartet die Meldung bekommen, 502 bad Gateway. Im Internet gibt es mehrere dieses Berichte. Eine Zeit lang lief es gut und seit dem letzten PHPStrom update bekomme ich den Fehler sehr häufig. Ich habe gelesen dass es besser sei, Wamp zu installieren und den apache Server zu nutzen. Die Installation von Wamp hat letztendlich funktioniert nachdem alle MS Redristributables installiert waren.
    In Wamp ist auch PHP7.1.26 und auch xdebug installiert.
    Die xdebug extensions in Chrome sind auch installiert.
    In PHPStorm habe ich unter Settings/Languages/PHP PHP7.1 und CLI Interpreter den Path aus der wamp installation verwendet und die dazu passende Debugger extension dll. Es wird angezeigt Debugger: Xdebug 2.6.1.
    Unter Run/Debug Configuration habe ich nach dem Template PHP Web Page einen Eintrag hinzugefügt. Dazu auch einen neuen Server Name=Wamp-Server, Host=localhost Port = 80 Debugger Xdebug.
    Laut einem Bericht, muss ich nichts weiter unternehmen.
    Ich muss also auch nicht die php-ini bearbeiten.
    In phpForApache.ini ist die ini section ausgelagert für xdebug.
    Ein blick in diese ini steht xdebug.remote_enable = off habe ich natürlich auch mit xdebug.remote_enable = on probiert.

    Wenn ich das Projekt mit Schift+F9 starte, startet crome und läft leider durch und bleibt nicht am breakpont stehen.
    Ich habe auch Videos angeschaut über die config doch leider alles ohne Erfolg.

    Mit der Hoffnung dass hier jemand im Forum das Problem kennt, grüße ich Euch.



  • #2
    Ich habe bis heute noch nie eine laufende Debugginglösung für PHP gesehen. Nicht mal die Leute auf Arbeit bei uns sind in der Lage einen Debugger unter PHP zum Laufen zu bekommen.
    Ich schreib meine Debugtools daher selber.
    bitcoin.de <- Meine Freelancerwährung

    Kommentar


    • #3
      Sorry, vermutlich habe ich mich nicht richtig ausgedrückt. Ich versuche mal zu beschrieben was ich meine. Bei einer Standardinstallation von PHPStorm kann man den xDebug einbinden. Wenn ich ein breakpoint in meiner index.php setze und mit Alt +F2 startet Crome und nutzt den Build-In WebServer. Normalerweise bleibt wird die Ausführung angehalten und ich kann mit der Taste F8 Zeile für Zeile durch meinen code wandern. Durch die nachträgliche Installation von Wamp habe ich da sProjekt umgestellt so dass es nicht über den Build-In Webserver läuft sondern über den Wamb Apache Server. Leider funktioniert jetzt dieses BreakPoint nicht mehr. Der Debugger bleibt nicht stehen. Sicherlich ist es nur eine Kleinigkeit wie so oft.
      Vom Wissenstand bin ich Anfänger. Mir macht PHP und co unheimlich Spaß und verbringe möglichst viel Zeit damit. Das was ich mache ist nicht Produktiv. Dein Gedanke geht sicherlich in einer völlig anderen Richtung. Ich habe keinen Produktivserver irgend wo laufen den ich live debuggen. Bei mir ist alles lokal auf der selben Maschine.

      Kommentar


      • #4
        Zitat von Alpha Beitrag anzeigen
        Ich habe bis heute noch nie eine laufende Debugginglösung für PHP gesehen. Nicht mal die Leute auf Arbeit bei uns sind in der Lage einen Debugger unter PHP zum Laufen zu bekommen.
        Ich schreib meine Debugtools daher selber.
        Dann solltet ihr mal XDebug ausprobieren. Nutze ich quasi täglich.

        Kommentar


        • #5
          Ich habe immer wieder unerwartet die Meldung bekommen, 502 bad Gateway. Im Internet gibt es mehrere dieses Berichte. Eine Zeit lang lief es gut und seit dem letzten PHPStrom update bekomme ich den Fehler sehr häufig
          Komisch immer läuft alles gut bis....
          wenn Du den 502 prodizerst. siehst du im log des webservers warum.
          wenn ein andere des tut, versuche herauszufinden warum.

          Kommentar


          • #6
            Verdammt, jetzt habe ich PHPStorm komplett verkonfiguriert.

            -Mit Shift+F10 startet Crome auf dem WambServer, führt jedoch NICHT die aktuelle php Datei aus sondern start die index.php
            -Alt+F2 (preview File in Chrome) mit der aktuellen php Datei jedoch aus localhost und nicht aus localhost/Projektordner
            -Xdebug bleibt am BreakPoint nicht stehen.

            Mein Projekt root ist: C:\wamp64\www\WebProjekt1
            Das sind die Einstellungen die ich aktuell habe:

            2019-02-10_102335.png
            2019-02-10_102358.png
            2019-02-10_104243.png
            2019-02-10_104417.png
            2019-02-10_102106.png

            Hier habe ich auch Port 63342 ausprobiert, geht leider auch nicht.

            2019-02-10_101949.png
            2019-02-10_101211.png

            Kann jemand erkennen Was ich für einen Mist gemacht habe?

            Vielen vielen herzlichen Dank schon mal.













            Kommentar


            • #7
              Zitat von tomBuilder Beitrag anzeigen

              Komisch immer läuft alles gut bis....
              wenn Du den 502 prodizerst. siehst du im log des webservers warum.
              wenn ein andere des tut, versuche herauszufinden warum.
              Hallo tomBuilder,

              aktuell habe wieder das Problem mit 502 bad Gateway. Du schreibt ich soll in das Log nachschauen. Ist das eine extra Datei? wenn ja wie finde ich deise? oder meinst du in PHPStorm unten in Reiter Built-In webServer. Hier ist nur eine Zeile: C:\php7.1\php.exe -S localhost:80 -t C:\projects\temp\WebProjekt1
              Die url in crome wird angezeigt: http://localhost:63342/WebProjekt1/A...p?gruppeID=101 ich würde jetzt mal annehmen dass der Built-In Webserver gestartet wurde. Allerdings steht er auf Port 80. Warum hier Port 63342 angezeigt wird. Ist vermutlich noch ein Proxy dazwischen oder so. Der Xbedug funktioniert leider noch nicht.

              Ich habe übrigens das Projekt verschoben von C:\wamp64\www\WebProjekt1 nach C:\projects\temp\WebProjekt1 damit es überhaupt funktioniert.
              Alles noch etwas unüberschaubar für mich.



              Kommentar


              • #8
                aktuell habe wieder das Problem mit 502 bad Gateway. Du schreibt ich soll in das Log nachschauen. Ist das eine extra Datei?
                ja

                Kommentar


                • #9
                  sorry dass ich nochmals nachfrage, ich habe im Internet danach gesucht und einen Hinweis bekommen, in php.ini muss das loging aktiviert werden. Das habe ich gemacht
                  error_reporting = E_ALL
                  log_errors = On
                  error_log = php_errors.log

                  Danach habe zum teste aus der Hilfe das ausgeführt:

                  PHP-Code:
                  <?php
                  error_reporting
                  (E_ALL);
                  ini_set('display_errors'true);
                  ini_set('html_errors'false);
                  // Simples Array:
                  $array = array(12);
                  $count count($array);
                  for (
                  $i 0$i $count$i++) {
                      echo 
                  "\nPrüfe $i: \n";
                      echo 
                  "Schlecht: " $array['$i'] . "\n";
                      echo 
                  "Gut: " $array[$i] . "\n";
                      echo 
                  "Schlecht: {$array['$i']}\n";
                      echo 
                  "Gut: {$array[$i]}\n";
                  }
                  ?>
                  Das Logfile wird leider nicht angelegt.
                  Im PHPStorm werden die Fehler unter PHP-CGI Server angezeigt. Wenn jedoch der 502 Fehler kommt, wird unter PHP-CGI Server nichts angezeigt.

                  Übrigens, das debuggen mit Xdebug habe ich zumindest für den Built-In Server wieder am laufen. Aber wie gesagt, ist unzuverlässig wegen 502 Fehler.
                  Was habe ich gemacht:
                  -Das Projekt in eine neuen Order verschoben.
                  -In dem Projektordner den Unterordner .idea gelöscht
                  -Das Projekt mit PHPStorm geöffnet.
                  -Wie oben aus den screen shots beschrieben alle Einstellungen vorgenommen jedoch NUR für den Built-In Server. Den Path mit Wamp-Server habe ich nicht zusätzlich hinzugefügt.
                  -Als PHP habe ich nicht den von Wamp verwendet sondern meine vorherige Installation unter C:\PHP7.1
                  -Das Projekt mit Alt-F2 gestartet. Der Breakpont wird nicht angesprungen.
                  -In Crome war diesemal der debug dessabled, habe ich aktiviert und refresht. Jetzt kommt ein PHPStorm Dialog den ich mit leider nicht gemerkt habe aber es start ob ich Maping Files nutzen möchte oder so. Ich habe den Default Wert ohne Maping files verwendet und dann wurde der Breakpont angesprungen. Diesen Zustand habe ich jetzt. Das Debuggen über den Wamp Server funktioniert nicht. Vermutlich fehlt hier noch irgend eine Einstellung.

                  Wenn der Built-In Server funktionieren würde brächte ich Wamp nicht.

                  Kommentar


                  • #10
                    https://php-de.github.io/jumpto/leitfaden/

                    die bildchen oben sind mir zu heftig, und ich frage mich wieso bei nicht fehlerhaftem code was ins error log geschrieben werden soll.
                    502 ist aber kein error von php,

                    https://stackoverflow.com/questions/...er-in-phpstorm
                    jap nicht dein problem.

                    eher dein problem:

                    http://forum.wampserver.com/read.php?2,147798

                    Kommentar


                    • #11
                      "502 bad gateway" ist ein HTTP error, den bekommt man immer dann, wenn zwischen Browser und Webserver ein Proxy (z.B. ein Loadbalancer) sitzt und die Verbindung "gekappt" wird, bevor die Request/Response Loop vollständig ist.

                      Der Browser schickt den Request an den Proxy, welcher ihn weiterreicht an den Webserver.
                      Der Webserver braucht nun eine Weile zur Beantwortung der Anfrage, länger als der Verbindungstimeout auf dem Proxy...
                      Der Proxy "droppt" also die Verbindung nach X Sekunden, wenn auf der Leitung kein traffic ist.
                      Dann ist der Webserver fertig und will den Request beantworten... kann es aber nicht mehr, weil der Weg zurück nicht mehr vorhanden ist => bad gateway.

                      Häufig bei Cloudhosting (AWS und Konsorten) zu beoachten...




                      Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                      Kommentar


                      • #12
                        https://www.ionos.de/digitalguide/ho...erung-loesung/
                        nicht nur offensichtlich.

                        Kommentar


                        • #13
                          Hallo Zusammen,

                          tomBuilder, ich muss deine Links noch genauer anschauen. Sicherlich findet sich hier die Lösung. Besten Dank dafür.
                          @Istegelitz, ich habe aktuell alles auf einer VM installiert PHPStorm und Wamp. Ich arbeite also lokal. Möglicherweise hat PHPStorm einen Proxy integriert der hier zicken macht.

                          Kommentar


                          • #14
                            Vielleicht hilt dir ja irgendwas davon:

                            https://intellij-support.jetbrains.c...hes-breakpoint

                            https://www.jetbrains.com/help/phpst...g-proxies.html


                            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                            Kommentar


                            • #15
                              Hallo Zusammen,

                              hat alles leider nichts gebracht. Mittlerweile zweifle ich ob mein Vorhaben überhaupt funktioniert. Deshalb die einfache Frage:
                              Auf meiner lokalen Maschine ist Wamp Server 3.1.7 und PHPStorm 2018.3.4 installiert, sonst nichts. Projekt root ist C:\wamp64\www\WebProjekt1. Ich möchte ausdrücklich NICHT mit dem Built-In Server arbeiten sondern mit dem Wamp-Server und dabei mittels Xdebug gebuggen können. Der breakpoint in einer .php Datei soll angesprungen werden.

                              Über den Buil-In Server funktioniert das debuggen, doch instabil da ich immer die Meldung bekomme 502 Bad Gateway. Wenn ich im Browser mehrfach F5 zum aktualisieren klicken wird wenn ich Glück habe die Seite aufgebaut. Deshalb möchte ich nicht mit den Buil-In Server arbeiten und habe mir den Wamp-Server installiert. Doch damit funktioniert das debuggen nicht.

                              Sorry dass ich Euch damit nerve.


                              Kommentar

                              Lädt...
                              X