Wie debuggt man PHP-Code in Visual Studio Code in den Diensten von XAMPP?

Wie debuggt man PHP-Code in Visual Studio Code in den Diensten von XAMPP?

Zuerst habe ich XAMPP aktiviert und die folgenden Dienste gestartet:

Die Dienste, die ich in XAMPP gestartet habe - Screenshot

Die PHP-Version ist übrigens 7.3.3. Dann habe ich phpinfo()im Browser nachgeschaut. Hier ein Screenshot:

phpinfo() - Screenshot

Und ich gingxdebug.orgum diese Version von Xdebug herunterzuladen:

Die Xdebug-Version, die ich heruntergeladen habe - Screenshot

Als ich diese Datei nach kopierte C:\xampp\php\ext, fand ich eine Datei mit dem Namen php_xdebug.dll. Wie auch immer, ich habe die Xdebug-Datei trotzdem in den Pfad geladen, ohne ihren Namen zu ändern ( php_xdebug-2.7.2-7.3-vc15-x86_64.dll).

Als nächstes habe ich einen Codeausschnitt php.iniaus einem Artikel im Internet kopiert:

zend_extension = "C:\xampp\php\ext\php_xdebug-2.7.2-7.3-vc15-x86_64.dll"
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000

Aber ich konnte nicht herausfinden, warum der Port 9000 war und der Port überhaupt nicht funktionierte. Ich habe es localhost:9000in die Adressleiste von Chrome eingegeben und die Ergebnisseite zeigt, dass localhost meine Verbindungsanfrage abgelehnt hat.

Ich habe trotzdem weitergemacht. Ich habe die Erweiterung „PHP Debug“ in VS Code installiert. Die Erweiterung launch.jsonist unten dargestellt:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

Schließlich habe ich eine neue PHP-Datei erstellt und sie debuggt. Als ich die Datei im Browser öffnete, funktionierte das Debug-Programm nicht. Könnten Sie mir also bitte sagen, wo das Problem liegt und mir die genauen Debug-Schritte zeigen?


Update: Endlich habe ich das Problem gefunden, die Portnummer 9000 ist belegt! Also habe ich „netstat -ano“ in cmd eingegeben und Port 9000 und den entsprechenden PID-Wert gefunden.Bildbeschreibung hier eingebenGeben Sie dann „taskkill /PID 4380 /F“ ein, um den Prozess zu beenden, der den Port belegt. Starten Sie abschließend die PHP-Dienste neu. Damit ist dieses Problem gelöst. Denken Sie jedoch daran, sicherzustellen, dass Sie die richtige Xdebug-Version installieren, die Sie in XAMPPs phpinfo() anzeigen können. Vielen Dank an die Freunde im Kommentarbereich für Ihre Hilfe.

Antwort1

Sie müssen Port 9000 nicht öffnen. Führen Sie einfach das Debugging wie folgt aus:

Bildbeschreibung hier eingeben

Dann

Bildbeschreibung hier eingeben

Wählen Sie PHP

Bildbeschreibung hier eingeben

grünes Symbol starten und abspielen

Bildbeschreibung hier eingeben

Fügen Sie Haltepunkte in Ihre Methoden oder Controller ein

Bildbeschreibung hier eingeben

Verwalten Sie Ihre Haltepunkte

Bildbeschreibung hier eingeben

verwandte Informationen