Direkt zum Inhalt
Niclas Timm
Xdebug 3 Was ist neu

Mit Xdebug 3 wird das Debugging in PHP schneller und leichter konfigurierbar. Erfahren Sie hier alles wichtige über die neue Version von Xdebug.

Achtung "angestaubt"!

Dieser Artikel ist bereits ein wenig veraltet und kann Informationen enthalten, die nicht mehr dem aktuellen Stand des Themas entsprechen.

Xdebug ist ein großartiges Debugging Tool für PHP-Entwickler, welches in der Vergangenheit allerdings auch manchem Kopfschmerzen bereitete. Das hat mit dem Release von Xdebug 3 ein Ende! Die neue Version ist nicht nur einfacher zu konfigurieren, sondern bietet einen großen Performance-Boost, durch den die Entwickler-Erfahrung verbessert wird. Wir stellen in diesem Artikel alle Neuerungen in Xdebug 3 vor, die du unbedingt kennen solltest.

 

Von Xdebug 2 auf Xdebug 3 upgraden

Wer bereits Xdebug 2 nutzt und nun auf Version 3 wechseln möchte, findet hier die offizielle Dokumentation dazu. Wir werden im Folgenden aber auch die wichtigsten Schritte und Änderungen ansprechen.

 

Deutlicher Performance Boost

Xdebug 2 sorgt manchmal für Kopfzerbrechen, da es negative Auswirkungen auf die Performance der PHP-Anwendung hat. Die ersten Benchmark Tests mit Xdebug 3 sorgen allerdings für Hoffnung: Je nach Konfiguration ist Xdebug 3 bis zu 34% schneller während des Debuggings und bis zu 99% schneller, wenn die Xdebug Erweiterung installiert aber nicht aktiviert ist.

 

Neue Konfiguration: Xdebug modes

Auch die Konfiguration wird mit Xdebug 3 deutlich erleichtert. Die manchmal verwirrenden Konzepte von "xdebug.remote_enabled" ," xdebug.profiler_enabled" , "xdebug.remote_autostart" & co. entfallen. Nur eine einzige Zeile bleibt übrig: "xdebug.mode=debug" . Diese Änderungen müssen in der php.ini vorgenommen werden.

 

Nun gibt es in Xdebug 3 abgesehen von “debug” weitere modes, die unterschiedliche Debugging Funktionalitäten ermöglichen. Die wichtigsten sind:

  • off - Die Erweiterung ist installiert aber nicht eingeschaltet
  • develop - Schaltet die Development Aids and, die z.B. verständliche Fehlermeldung ermöglichen
  • coverage -  besonders interessant wenn Code mit coverage reports mit PHPUnit läuft
  • debug - Ermöglicht step debugging
  • gcstats - Sammelt Statistiken über PHP’s carbage collection Mechanismus
  • trace - Ermöglicht das Function Trace Feature, mit welchem alle Funktionsaufrufe inkl. Parametern usw. gesammelt werden können

 

Es ist übrigens nicht nötig für jede dieser Einstellungen eine eigene Zeile zu schreiben. Die benötigten Modes können auf einfach per Komma separiert werden.

Für das durchschnittliche Projekt sind wohl nicht alle dieser Modes nötig und  "xdebug.mode=debug" wird in den meisten Fällen völlig ausreichend sein.

 

Neuer Default Port

Beim Port ist in der neuen Version Achtung geboten. In Xdebug 3 hat sich der Standard Port von 9000 auf 9003 geändert, was dementsprechend in den IDE Settings angepasst werden muss. Eine Anleitung für die Einrichtung von Xdebug in PhpStorm finden Sie hier.

 

PHP 8 Support

Am 26.11 wurde PHP 8 veröffentlicht und bringt einige neue Features mit sich. Im Gegensatz zu Version 2 unterstützt Xdebug 3 PHP 8.

 

Xdebug 3: Schneller, leichter, besser

Xdebug macht mit der Version 3 einen großen Schritt und wird anwendungsfreundlicher für PHP Entwickler. Neben einer erleichterten Konfiguration bietet Xdebug 3 einen deutlichen Performance-Boost und unterstützt PHP 8. Wir sind daher der Meinung, dass sich das Upgrade für jeden Entwickler lohnt!