XDebug für Dev-Webspaces

    XDebug ist eine Erweiterung für PHP und bietet eine Reihe von Funktionen zur Verbesserung der PHP-Entwicklungserfahrung.

    Schritt-Debugging
    Eine Möglichkeit, Ihren Code in Ihrer IDE oder Ihrem Editor schrittweise durchzugehen, während das Skript ausgeführt wird.

    Verbesserungen an der Fehlerberichterstattung von PHP
    Eine verbesserte var_dump()-Funktion, Stack-Traces für Hinweise, Warnungen, Fehler und Ausnahmen, um den Codepfad zum Fehler hervorzuheben

    Tracing
    Schreibt jeden Funktionsaufruf mit Argumenten und Aufrufort auf die Festplatte. Enthält optional auch alle Variablenzuweisungen und Rückgabewerte für jede Funktion.

    Profiling
    Ermöglicht Ihnen mithilfe von Visualisierungstools, die Leistung Ihrer PHP-Anwendung zu analysieren und Engpässe zu finden.

    Code Coverage Analysis
    Um zu zeigen, welche Teile Ihrer Codebasis ausgeführt werden, wenn Sie Unit-Tests mit PHPUnit ausführen.

    ~ XDebug

    Einrichung und Konfiguration

    Für die richtige Zuteilung von Webspace zum lokalen XDebug-Client muss jeder Dev-Webspace mit einem eindeutigen Client-Port konfiguriert werden.

    Zuteilung

    • werner.bakehouse.dev: 9003
    • xaver.bakehouse.dev: 9004
    • sascha.bakehouse.dev: 9005
    • ivan.bakehouse.dev: 9006
    • manuel.bakehouse.dev: 9007
    • hapi.bakehouse.dev: 9008

    ISPConfig Einstellungen

    Folgendes muss im ISPConfig (master.bakehouse.dev) beim jeweiligen Webspace unter Options bei Custom php.ini settings gesetzt werden:

    Typoscript
    xdebug.mode=debug xdebug.client_host=157.90.21.166 xdebug.client_port=9003 # mit jeweiligen Port ersetzen xdebug.start_with_request=yes

    VS Code Einstellungen

    Hier muss zuerst die PHP Debug Extension installiert werden (sollte schon durch VS Code Workspace-Recommendations vorgeschlagen werden bzw. schon installiert sein).

    In der Sidebar im Run and Debug-Tab muss jetzt im oberen Select Listen for XDebug ausgewählt werden und mit dem cog Zahnrad-Icon daneben die Einstellungen geöffnet und die untenstehende Einstellungen angepasst werden:

    JSON
    { "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "hostname": "157.90.21.166", "port": 9003, // mit jeweiligen Port ersetzen "pathMappings": { // mit jeweiligen Webspace-Pfad ersetzten "/var/www/clients/client13/web11/web": "${workspaceFolder}" } } ] }

    Verwendung

    Genauere Infomationen zur Verwendung sind bei der Extension dokumentiert: PHP Debug