{"id":4647,"date":"2020-12-23T09:51:13","date_gmt":"2020-12-23T08:51:13","guid":{"rendered":"https:\/\/www.clickstorm.de\/blog\/?p=4647"},"modified":"2026-02-02T10:10:27","modified_gmt":"2026-02-02T09:10:27","slug":"xdebug-3-phpstorm-typo3","status":"publish","type":"post","link":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/","title":{"rendered":"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse"},"content":{"rendered":"<p>Mit Xdebug 3 wurde Ende November 2020 eine stark verbesserte Version des beliebten Debugging-Tools f\u00fcr PHP ver\u00f6ffentlicht. Erfahre hier, wie du Xdebug installierst und f\u00fcr dein Web-Projekt in deiner Entwicklungsumgebung anwenden kannst. Als Beispiel-IDE (Integrated Development Environment) nutzen wir PhpStorm und als PHP-Applikation eine TYPO3-Seite.<\/p>\n<h2>Warum Xdebug?<\/h2>\n<p>Jeder der Mal ein <code class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">var_dump($myVar);<\/code> oder ein <code class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">echo $myVar;<\/code> im PHP-Code geschrieben hat, kann die Vorteile von Xdebug nutzen. Viele kennen einen schrittweisen Debugger bereits aus dem JavaScript-Kontext.<\/p>\n<p>Man setzt im Quellcode sogenannte Breakpoints. An diesen Stellen unterbricht der Compiler die aktuelle Ausf\u00fchrung des Quellcodes. Der Entwickler sieht, welche Variablen an dieser Stelle zur Verf\u00fcgung stehen. Hierzu geh\u00f6ren auch s\u00e4mtliche globale Variablen.<\/p>\n<p>Nun kann der Entwickler den gesamten bisherigen Verlauf einsehen oder schrittweise weiter den Code ausf\u00fchren. Zudem kann er Variablen manipulieren und schauen, wie das den weiteren Ablauf beeinflusst. Bye Bye <code class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">var_dump()<\/code>, hallo Xdebug.<\/p>\n<p>Aber genug Theorie. Wie das Ganze in der Praxis aussieht, kannst du dir in unserem Video anschauen.<\/p>\n<div class=\"privacy-container js-privacy-msg-video\"><img decoding=\"async\" class=\"privacy-text-image\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/plugins\/clickstorm-embed\/images\/comment-alt-exclamation.svg\" alt=\"Info Icon\"><\/p>\n<p class=\"privacy-text\">Dieses Video wird \u00fcber eine externe Plattform (YouTube) gehostet. Das Laden bedarf der Zustimmung unserer <a class=\"privacy-text-link\" href=\"https:\/\/www.clickstorm.de\/blog\/datenschutz\/\" target=\"_blank\">Datenschutzbestimmungen.<\/a><\/p>\n<p><a class=\"btn btn-primary btn-cookie js-cookie-open-modal\" data-cs-cookie-anchor=\"externalMedia\" href=\"#\">Einstellung vornehmen<\/a><\/div>\n<div class=\"iframe\"><iframe class=\"js-iframe-privacy-video\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen src=\"\" data-src=\"https:\/\/www.youtube-nocookie.com\/embed\/OUk3WlOuZLU\"><\/iframe><\/div>\n<p>Jetzt denkst du bestimmt: &#8222;Das will ich auch&#8220;. Kein Problem, wir erkl\u00e4ren dir noch, wie du Xdebug f\u00fcr deine Entwicklungsumgebung aufsetzen und nutzen kannst.<\/p>\n<h3>Xdebug und TYPO3<\/h3>\n<p>Im Kontext von TYPO3 bietet Xdebug den Vorteil, dass stets alle verf\u00fcgbaren Variablen, auch die <code class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">$GLOBALS<\/code>, ersichtlich sind. Zudem l\u00e4sst sich der Ablauf vom TYPO3-Core und Extbase leichter nachvollziehen. Neben TYPO3 kann Xdebug aber auch f\u00fcr jede andere PHP-Applikation genutzt werden.<\/p>\n<p>Ein weiterer Vorteil ist, dass nicht versehentlich Debug-Befehle wie <code class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">var_dump()<\/code> ver\u00f6ffentlicht werden. Wem ist es nicht schon einmal passiert, dass er die folgende Zeile mit commited hat.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-linenumbers=\"false\">\\TYPO3\\CMS\\Extbase\\Utility\\DebuggerUtility::var_dump($myVar, __FILE__ . ':' . __LINE__);<\/pre>\n<h3><\/h3>\n<h3>Xdebug 3<\/h3>\n<p>Bisher war ein gro\u00dfes Manko von Xdebug die Performance. Hatte man die PHP-Erweiterung auf dem Server installiert, noch nicht einmal aktiviert, so hat sich das negativ auf die Geschwindigkeit von PHP ausgewirkt. Mit der Version 3 haben es die Entwickler geschafft, diesen Aspekt gr\u00f6\u00dftenteils zu beheben.<\/p>\n<div id=\"attachment_4694\" style=\"width: 833px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4694\" class=\"wp-image-4694 size-full\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/Xdebug-v2-vs-v3-extension-footprint.png\" alt=\"Grafik zum Vergleich von Xdebug 2 und 3, wobei Xdebug 3 deutlich schneller ist\" width=\"823\" height=\"437\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/Xdebug-v2-vs-v3-extension-footprint.png 823w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/Xdebug-v2-vs-v3-extension-footprint-300x159.png 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/Xdebug-v2-vs-v3-extension-footprint-768x408.png 768w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><p id=\"caption-attachment-4694\" class=\"wp-caption-text\">Quelle: https:\/\/php.watch\/articles\/xdebug2-vs-3-benchmark<\/p><\/div>\n<p>Dar\u00fcber hinaus waren auch die Konfigurationen relativ umst\u00e4ndlich nachzuvollziehen. Diese wurden zusammengefasst und vereinfacht. Und Xdebug 3 ist kompatibel zu PHP 8.<\/p>\n<p>Wie du jetzt Xdebug installieren kannst, erf\u00e4hrst du im folgenden Abschnitt.<\/p>\n<h2>Installation von Xdebug<\/h2>\n<p>Xdebug kann auf allen g\u00e4ngigen Plattformen genutzt werden. Zun\u00e4chst gilt es die Erweiterung herunterzuladen und zu installieren. Auf einem Ubuntu-Server lautet der Befehl:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\" data-enlighter-linenumbers=\"false\">sudo\u00a0apt-get\u00a0install\u00a0php-xdebug<\/pre>\n<p>F\u00fcr weitere Plattformen bietet der <a href=\"https:\/\/xdebug.org\/docs\/install\" target=\"_blank\" rel=\"noopener\">Installations-Guide<\/a> von Xdebug eine gute \u00dcbersicht.<\/p>\n<p>Nun muss die Erweiterung in der php.ini registriert werden.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-linenumbers=\"false\">zend_extension=\/wherever\/you\/put\/it\/xdebug<\/pre>\n<p>Das grundlegende Setup ist somit erledigt. Jetzt folgen die spezifischen Konfigurationen.<\/p>\n<h3>Xdebug konfigurieren<\/h3>\n<p>Mit Xdebug 3 wurde, wie bereits erw\u00e4hnt, die Konfigurationen vereinfacht. Es gibt nun eine Variable <strong>xdebug.mode<\/strong>. Diese Variable kann die folgenden Werte enthalten:<\/p>\n<ul>\n<li><strong>off<\/strong> &#8211; Xdebug ist deaktiviert und funktioniert somit auch nicht. Es wird nahezu kein Overhead produziert.<\/li>\n<li><strong>develop<\/strong> &#8211; Aktiviert diverse <a href=\"https:\/\/xdebug.org\/docs\/develop\" target=\"_blank\" rel=\"noopener\">Hilfen<\/a> bei der Entwicklung. Hierzu z\u00e4hlen u.a. eine informativere var_dump()-Ausgabe und der Stack-Trace, welcher bei Fehlern den bisherigen Ablauf anzeigt.<\/li>\n<li><strong> coverage<\/strong> &#8211; F\u00fcr Nutzer von PHP-Unit wird der <a href=\"https:\/\/xdebug.org\/docs\/code_coverage\" target=\"_blank\" rel=\"noopener\">Codecoverage<\/a> untersucht, sprich wieviel Code durch Tests abgedeckt ist.<\/li>\n<li><strong>debug<\/strong> &#8211; Aktiviert den bereits erw\u00e4hnten <a href=\"https:\/\/xdebug.org\/docs\/step_debug\" target=\"_blank\" rel=\"noopener\">schrittweisen Debugger<\/a>.<\/li>\n<li><strong>gcstats<\/strong> &#8211; Aktiviert <a href=\"https:\/\/xdebug.org\/docs\/garbage_collection\" target=\"_blank\" rel=\"noopener\">Statistiken<\/a> \u00fcber die PHP-Applikation wie Speicherverbrauch und Performance.<\/li>\n<li><strong>profile<\/strong> &#8211; Kann zur <a href=\"https:\/\/xdebug.org\/docs\/profiler\" target=\"_blank\" rel=\"noopener\">Performance-Analyse<\/a> in Verbindung mit weiteren Tools genutzt werden.<\/li>\n<li><strong>trace<\/strong> &#8211; Bietet die M\u00f6glichkeit, jeden Funktionsaufruf zu <a href=\"https:\/\/xdebug.org\/docs\/trace\" target=\"_blank\" rel=\"noopener\">protokollieren<\/a>. Es werden Variablen und Return-Werte mit aufgezeichnet.<\/li>\n<\/ul>\n<p>Die Einstellungen werden in der php.ini getroffen. F\u00fcr uns wichtig ist zun\u00e4chst nur der Debug-Modus. Verschiedene Modi k\u00f6nnen kommasepariert kombiniert werden.<\/p>\n<p>Unsere php.ini sieht wie folgt aus.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">zend_extension = xdebug.so\r\n\r\nxdebug.mode = debug\r\nxdebug.max_nesting_level = 1000\r\nxdebug.discover_client_host = true<\/pre>\n<p>F\u00fcr TYPO3 wird empfohlen, dass der Parameter <strong>max_nesting_level<\/strong> von dem Standardwert 256 auf 1000 erh\u00f6ht wird. Dieser Wert dient dazu zu verhindern, dass unendliche rekursive Funktionsaufrufe erfolgen.<\/p>\n<p>Als zweites setzen wir noch die Variable <strong>discover_client_host<\/strong> auf true. Somit ermittelt Xdebug selbst\u00e4ndig den aktuellen Host und PhpStorm kann dann entsprechend darauf reagieren.<\/p>\n<p>Alle m\u00f6glichen Konfigurationen von Xdebug findest du in <a href=\"https:\/\/xdebug.org\/docs\/all_settings\" target=\"_blank\" rel=\"noopener\">der offiziellen Dokumentation<\/a>.<\/p>\n<h3>Installation vom Xdebug-Helper im Browser<\/h3>\n<p>Um Xdebug bei einem Seitenaufruf zu aktivieren, gibt es f\u00fcr <a href=\"https:\/\/addons.mozilla.org\/de\/firefox\/addon\/xdebug-helper-for-firefox\/\" target=\"_blank\" rel=\"noopener\">Firefox<\/a> und <a href=\"https:\/\/chrome.google.com\/webstore\/detail\/xdebug-helper\/eadndfjplgieldjbigjakmdgkmoaaaoc?hl=de\" target=\"_blank\" rel=\"noopener\">Chrome<\/a> die Erweiterung Xdebug-Helper. Diesen einfach herunterladen und installieren.<\/p>\n<p>Anschlie\u00dfend muss nur noch der entsprechende IDE-Key gesetzt werden. Dazu die Einstellungen des Plug-Ins \u00f6ffnen und den IDE-Key &#8222;<strong>PHPSTORM<\/strong>&#8220; setzen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4672\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-optionen-1024x388.jpg\" alt=\"Kontextmen\u00fc bei Rechtsklick der Browser-Erweiterung Xdebug Helper im Google Chrome\" width=\"1024\" height=\"388\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-optionen-1024x388.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-optionen-300x114.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-optionen-768x291.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-optionen.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4673\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-ide-key-setzen-1024x705.jpg\" alt=\"Optionen der Browser-Erweiterung Xdebug Helper\" width=\"1024\" height=\"705\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-ide-key-setzen-1024x705.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-ide-key-setzen-300x206.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-ide-key-setzen-768x529.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-ide-key-setzen.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Nun kann die Debug-Session er\u00f6ffnet werden. Dazu einfach auf den K\u00e4fer klicken und &#8222;Debug&#8220; w\u00e4hlen. Der K\u00e4fer leuchtet anschlie\u00dfend gr\u00fcn.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4670\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-1024x385.jpg\" alt=\"Kontextmen\u00fc der Browser-Erweiterung Xdebug Helper im Google Chrome\" width=\"1024\" height=\"385\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-1024x385.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-300x113.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-768x289.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p><strong>!Wichtig!<\/strong> Da Xdebug im aktivierten Modus immer noch zu Lasten der Performance geht, solltet ihr wieder auf den K\u00e4fer klicken und &#8222;Disable&#8220; w\u00e4hlen, wenn ihr mit dem Debuggen fertig seid. Dann l\u00e4uft die Seite wieder schneller.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4671\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-deaktivieren-1024x387.jpg\" alt=\"Kontextmen\u00fc der Browser-Erweiterung Xdebug Helper im Google Chrome\" width=\"1024\" height=\"387\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-deaktivieren-1024x387.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-deaktivieren-300x113.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-deaktivieren-768x290.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-deaktivieren.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Jetzt gilt es noch ein paar kleine Anpassungen im PhpStorm vorzunehmen und schon kann es losgehen.<\/p>\n<h2>Xdebug im PhpStorm nutzen<\/h2>\n<h3>PhpStorm vorbereiten<\/h3>\n<p data-renderer-start-pos=\"1062\">F\u00fcr das jeweilige Projekt muss nun gesagt werden, unter welchem Host das Projekt l\u00e4uft.<\/p>\n<ol>\n<li>Dazu unter File &gt; Settings oder \u201cStrg + Alt + S\u201d dr\u00fccken. Anschlie\u00dfend zu Languages &amp; Frameworks &gt; PHP &gt; Servers<\/li>\n<li>Einen neuen Server anlegen<\/li>\n<li>Einen treffenden Namen geben<\/li>\n<li>Die Domain eintragen<\/li>\n<li>Path Mapping \/pathtomyproject\/<\/li>\n<li>Speichern<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4662\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-server-einstellungen.jpg\" alt=\"PhpStorm Server Einstellungen\" width=\"1012\" height=\"703\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-server-einstellungen.jpg 1012w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-server-einstellungen-300x208.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-server-einstellungen-768x534.jpg 768w\" sizes=\"auto, (max-width: 1012px) 100vw, 1012px\" \/><\/p>\n<h3>Auf los, Debug<\/h3>\n<p>Xdebug l\u00e4sst sich jetzt an- und ausschalten. Das muss sowohl im PhpStorm, als auch im Browser passieren.<\/p>\n<ol>\n<li data-renderer-start-pos=\"1601\">\u00dcber das Icon \u201cStart Listening for PHP Debug Connections\u201c (1) aktivieren wir, dass PhpStorm auf den Port 9000 und f\u00fcr Xdebug 3 auf den Port 9003 h\u00f6rt.<a href=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-aktivieren.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4674 size-large\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-aktivieren-1024x491.jpg\" alt=\"Xdebug in PhpStorm aktivieren und Breakpoint setzen\" width=\"1024\" height=\"491\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-aktivieren-1024x491.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-aktivieren-300x144.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-aktivieren-768x368.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-aktivieren.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/li>\n<li data-renderer-start-pos=\"1752\">Nun lassen sich Breakpoints (2) setzen, an denen der Compiler anhalten soll.<\/li>\n<li data-renderer-start-pos=\"1752\">Die Debug-Session im Browser mit den Xdebug-Helper starten.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4670\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-1024x385.jpg\" alt=\"Kontextmen\u00fc der Browser-Erweiterung Xdebug Helper im Google Chrome\" width=\"1024\" height=\"385\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-1024x385.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-300x113.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren-768x289.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-helper-aktivieren.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/li>\n<li>Die Seite neu laden.<\/li>\n<\/ol>\n<p>Sobald nun die Seite im Browser neu geladen wird, stoppt PhpStorm an der Stelle, wo der Breakpoint gesetzt wurde. Also vorausgesetzt, die Stelle wird auch ausgef\u00fchrt. Stoppt der Compiler an der Stelle, werden alle verf\u00fcgbaren Variablen angezeigt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4665\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variablen-1024x787.jpg\" alt=\"Anzeige der Variablen via Xdebug im PhpStorm\" width=\"1024\" height=\"787\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variablen-1024x787.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variablen-300x231.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variablen-768x590.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variablen.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p data-renderer-start-pos=\"2211\">Mit F9 wird die Ausf\u00fchrung des Quellcodes fortgef\u00fchrt.<\/p>\n<p data-renderer-start-pos=\"2211\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4661\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-fortsetzen-1024x787.jpg\" alt=\"Xdebug Session in PhpStorm mit Button zum Fortsetzen\" width=\"1024\" height=\"787\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-fortsetzen-1024x787.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-fortsetzen-300x231.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-fortsetzen-768x590.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-fortsetzen.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h2>Weitere Funktionen<\/h2>\n<p>Sicherlich ist das reine betrachten der Variablen schon ein \u00fcberzeugendes Argument. Aber der schrittweise Debugger kann noch mehr.<\/p>\n<h3>Variablen manipulieren und beobachten<\/h3>\n<p>Variablen k\u00f6nnen jederzeit manipuliert werden. Dazu einfach Rechtsklick auf die Variable und \u201cSet Value\u201c w\u00e4hlen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4666\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-1024x387.jpg\" alt=\"Kontextmen\u00fc einer Variable von Xdebug im PhpStorm\" width=\"1024\" height=\"387\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-1024x387.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-300x113.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-768x290.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4667\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-II-1024x384.jpg\" alt=\"Variablenname zum Bearbeiten in PhpStorm mittels Xdebug\" width=\"1024\" height=\"384\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-II-1024x384.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-II-300x113.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-II-768x288.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-variable-setzen-II.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p data-renderer-start-pos=\"2449\">\u00dcber das Kontextmen\u00fc k\u00f6nnen Variablen kopiert werden. Es l\u00e4sst sich ermitteln wo die Variable gesetzt wurde.<\/p>\n<p data-renderer-start-pos=\"2559\">\u00dcber Watchers k\u00f6nnen Variablen separat betrachtet werden.<\/p>\n<h3>Conditions f\u00fcr Breakpoints<\/h3>\n<p>Gerade in einer foreach-Schleife kann es l\u00e4stig sein, wenn der Compiler immer wieder stoppt. M\u00f6chte man, dass nur dann angehalten wird, wenn eine Variable einen bestimmt Wert angenommen hat, so setzt man dies einfach als Condition. Daf\u00fcr auf dem Breakpoint einen Rechtsklick ausf\u00fchren und die Bedingung setzen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4675\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-breakpoints-conditions-1024x402.jpg\" alt=\"Rechtsklick auf Breakpoint im PhpStorm\" width=\"1024\" height=\"402\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-breakpoints-conditions-1024x402.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-breakpoints-conditions-300x118.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-breakpoints-conditions-768x302.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-breakpoints-conditions.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h3>Vor, zur\u00fcck, zur Seite, ran<\/h3>\n<p>Wie schon erw\u00e4hnt, l\u00e4sst sich mit Xdebug der gesamte Verlauf nachvollziehen. Alle bisher aufgerufenen Funktionen und deren Parameter lassen sich auslesen. Die Liste der Funktionen sieht man in der linken Leiste. Hier kann jede Funktion angeklickt und die Variablen eingesehen werden.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4663\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-stack-trace-1024x382.jpg\" alt=\"Stack Trace von Xdebug in PhpStorm\" width=\"1024\" height=\"382\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-stack-trace-1024x382.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-stack-trace-300x112.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-stack-trace-768x287.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-stack-trace.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Wenn man wissen m\u00f6chte, wie es nach dem jetzigen Breakpoint weiter geht, so kann man weitere Breakpoints setzen oder die schrittweise Kompilierung fortsetzen. Dazu dienen die Symbole oberhalb oder man nutzt die entsprechende Tastenkombination.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-4664\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-steps-1024x386.jpg\" alt=\"Buttons in PhpStorm f\u00fcr Xdebug\" width=\"1024\" height=\"386\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-steps-1024x386.jpg 1024w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-steps-300x113.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-steps-768x289.jpg 768w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-phpstorm-steps.jpg 1280w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Wichtig sind die Tasten F7 und F8. Mehr dazu in der <a href=\"https:\/\/www.jetbrains.com\/help\/phpstorm\/stepping-through-the-program.html\" target=\"_blank\" rel=\"noopener\">Doku von PhpStorm<\/a>.<\/p>\n<h2>Xdebug funktioniert nicht<\/h2>\n<p>Falls Xdebug bei dir noch nicht funktioniert, \u00fcberpr\u00fcfe die folgenden Punkte:<\/p>\n<ul>\n<li data-renderer-start-pos=\"3684\">Stimmt die Domain in den Server-Einstellungen im PhpStorm<\/li>\n<li data-renderer-start-pos=\"3745\">Stimmen die Path Mappings<\/li>\n<li data-renderer-start-pos=\"3774\">Wurde \u201cStart Listening for PHP Debug Connections\u201c im PhpStorm aktiviert<\/li>\n<li data-renderer-start-pos=\"3849\">Ist der K\u00e4fer im Browser gr\u00fcn?<\/li>\n<li data-renderer-start-pos=\"3883\">Wird auf den richtigen Port geh\u00f6rt? Solltet ihr PhpStorm &lt; 2020.3 haben, dann stellt bitte den Debug Port auf 9003 ein. Ab PhpStorm 2020.3 wird zus\u00e4tzlich immer auf den Port 9003 geh\u00f6rt.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4668\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-port-phpstorm.jpg\" alt=\"PhpStorm Debug Einstellungen mit Highlight auf Debug Port\" width=\"902\" height=\"701\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-port-phpstorm.jpg 902w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-port-phpstorm-300x233.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-port-phpstorm-768x597.jpg 768w\" sizes=\"auto, (max-width: 902px) 100vw, 902px\" \/><\/li>\n<li>Um zu \u00fcberpr\u00fcfen, ob \u00fcberhaupt was funktioniert, k\u00f6nnt ihr einstellen, dass der Debugger anh\u00e4lt, sobald die erste Zeile im PHP-Code erreicht wird. Bei Erfolg, die Checkbox ruhig wieder deaktivieren.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4669\" src=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-test-phpstorm.jpg\" alt=\"PhpStorm Debug Einstellung &quot;Break at first line in PHP scripts&quot;\" width=\"902\" height=\"701\" srcset=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-test-phpstorm.jpg 902w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-test-phpstorm-300x233.jpg 300w, https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/xdebug-test-phpstorm-768x597.jpg 768w\" sizes=\"auto, (max-width: 902px) 100vw, 902px\" \/><\/li>\n<\/ul>\n<h2>Mehr Debug<\/h2>\n<p>Wie zu sehen ist Xdebug 3 relativ simpel aufzusetzen. Wir sind gespannt auf eure Erfahrungen mit dem Tool. Falls ihr Anmerkungen habt, schreibt diese gerne in die Kommentare.<\/p>\n<p>Neben Xdebug kann auch <a href=\"https:\/\/www.clickstorm.de\/blog\/blackfire-io-bessere-performance-php\/\">blackfire.io<\/a> genutzt werden, um den Quellcode zu analysieren und die Performance zu optimieren.<\/p>\n<p>Wir hoffen, unser kleines Tutorial zu Weihnachten hat euch gefallen und w\u00fcnschen allen eine besinnliche Weihnachtszeit sowie einen guten Rutsch in ein hoffentlich besseres Jahr 2021.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit Xdebug 3 wurde Ende November 2020 eine stark verbesserte Version des beliebten Debugging-Tools f\u00fcr PHP ver\u00f6ffentlicht. Erfahre hier, wie du Xdebug installierst und f\u00fcr dein Web-Projekt in deiner Entwicklungsumgebung [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":4652,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[135,138],"tags":[80,45,46,56,98,19,195,9],"class_list":["post-4647","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cms","category-tools","tag-browser","tag-entwicklung","tag-erweiterung","tag-performance","tag-php","tag-technik","tag-testen","tag-typo3"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse - clickstorm Blog<\/title>\n<meta name=\"description\" content=\"Xdebug 3 hat eine bessere Performance und simple Konfiguration. Erfahre, wie du das Tool im PhpStorm f\u00fcr dein TYPO3-Projekt installierst.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse - clickstorm Blog\" \/>\n<meta property=\"og:description\" content=\"Xdebug 3 hat eine bessere Performance und simple Konfiguration. Erfahre, wie du das Tool im PhpStorm f\u00fcr dein TYPO3-Projekt installierst.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/\" \/>\n<meta property=\"og:site_name\" content=\"clickstorm Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/de-de.facebook.com\/clickstorm\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-23T08:51:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-02T09:10:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/x-debug-phpstorm_teaser-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"577\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marc\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clickstorm_gmbh\" \/>\n<meta name=\"twitter:site\" content=\"@clickstorm_gmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marc\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/\"},\"author\":{\"name\":\"Marc\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/person\\\/594fb824a2f049d33b2a1b4406bfc86b\"},\"headline\":\"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse\",\"datePublished\":\"2020-12-23T08:51:13+00:00\",\"dateModified\":\"2026-02-02T09:10:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/\"},\"wordCount\":1378,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/x-debug-phpstorm_teaser-01.jpg\",\"keywords\":[\"Browser\",\"Entwicklung\",\"Erweiterung\",\"Performance\",\"PHP\",\"Technik\",\"Testen\",\"TYPO3\"],\"articleSection\":[\"CMS\",\"Tools\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/\",\"name\":\"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse - clickstorm Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/x-debug-phpstorm_teaser-01.jpg\",\"datePublished\":\"2020-12-23T08:51:13+00:00\",\"dateModified\":\"2026-02-02T09:10:27+00:00\",\"description\":\"Xdebug 3 hat eine bessere Performance und simple Konfiguration. Erfahre, wie du das Tool im PhpStorm f\u00fcr dein TYPO3-Projekt installierst.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/x-debug-phpstorm_teaser-01.jpg\",\"contentUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/x-debug-phpstorm_teaser-01.jpg\",\"width\":1170,\"height\":577,\"caption\":\"xDebug-Phpstorm-TYPO3, Weihnachtskugeln mit Bug\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/xdebug-3-phpstorm-typo3\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/\",\"name\":\"clickstorm Blog\",\"description\":\"Neuigkeiten rund um Webentwicklung\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#organization\",\"name\":\"clickstorm GmbH\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/11\\\/logo.svg\",\"caption\":\"clickstorm GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/de-de.facebook.com\\\/clickstorm\\\/\",\"https:\\\/\\\/x.com\\\/clickstorm_gmbh\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCEaU1eUbug6OiI4uU6vA-cA\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/#\\\/schema\\\/person\\\/594fb824a2f049d33b2a1b4406bfc86b\",\"name\":\"Marc\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/85b6c585f298a873f9f4be166b9fbba00a9ad2482b92863d227e5d227136d135?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/85b6c585f298a873f9f4be166b9fbba00a9ad2482b92863d227e5d227136d135?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/85b6c585f298a873f9f4be166b9fbba00a9ad2482b92863d227e5d227136d135?s=96&d=mm&r=g\",\"caption\":\"Marc\"},\"url\":\"https:\\\/\\\/www.clickstorm.de\\\/blog\\\/author\\\/marc\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse - clickstorm Blog","description":"Xdebug 3 hat eine bessere Performance und simple Konfiguration. Erfahre, wie du das Tool im PhpStorm f\u00fcr dein TYPO3-Projekt installierst.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/","og_locale":"de_DE","og_type":"article","og_title":"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse - clickstorm Blog","og_description":"Xdebug 3 hat eine bessere Performance und simple Konfiguration. Erfahre, wie du das Tool im PhpStorm f\u00fcr dein TYPO3-Projekt installierst.","og_url":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/","og_site_name":"clickstorm Blog","article_publisher":"https:\/\/de-de.facebook.com\/clickstorm\/","article_published_time":"2020-12-23T08:51:13+00:00","article_modified_time":"2026-02-02T09:10:27+00:00","og_image":[{"width":1170,"height":577,"url":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/x-debug-phpstorm_teaser-01.jpg","type":"image\/jpeg"}],"author":"Marc","twitter_card":"summary_large_image","twitter_creator":"@clickstorm_gmbh","twitter_site":"@clickstorm_gmbh","twitter_misc":{"Verfasst von":"Marc","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#article","isPartOf":{"@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/"},"author":{"name":"Marc","@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/person\/594fb824a2f049d33b2a1b4406bfc86b"},"headline":"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse","datePublished":"2020-12-23T08:51:13+00:00","dateModified":"2026-02-02T09:10:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/"},"wordCount":1378,"commentCount":0,"publisher":{"@id":"https:\/\/www.clickstorm.de\/blog\/#organization"},"image":{"@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/x-debug-phpstorm_teaser-01.jpg","keywords":["Browser","Entwicklung","Erweiterung","Performance","PHP","Technik","Testen","TYPO3"],"articleSection":["CMS","Tools"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/","url":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/","name":"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse - clickstorm Blog","isPartOf":{"@id":"https:\/\/www.clickstorm.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#primaryimage"},"image":{"@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#primaryimage"},"thumbnailUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/x-debug-phpstorm_teaser-01.jpg","datePublished":"2020-12-23T08:51:13+00:00","dateModified":"2026-02-02T09:10:27+00:00","description":"Xdebug 3 hat eine bessere Performance und simple Konfiguration. Erfahre, wie du das Tool im PhpStorm f\u00fcr dein TYPO3-Projekt installierst.","breadcrumb":{"@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#primaryimage","url":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/x-debug-phpstorm_teaser-01.jpg","contentUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2020\/12\/x-debug-phpstorm_teaser-01.jpg","width":1170,"height":577,"caption":"xDebug-Phpstorm-TYPO3, Weihnachtskugeln mit Bug"},{"@type":"BreadcrumbList","@id":"https:\/\/www.clickstorm.de\/blog\/xdebug-3-phpstorm-typo3\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.clickstorm.de\/blog\/"},{"@type":"ListItem","position":2,"name":"Xdebug 3 mit PhpStorm und TYPO3 zur Fehleranalyse"}]},{"@type":"WebSite","@id":"https:\/\/www.clickstorm.de\/blog\/#website","url":"https:\/\/www.clickstorm.de\/blog\/","name":"clickstorm Blog","description":"Neuigkeiten rund um Webentwicklung","publisher":{"@id":"https:\/\/www.clickstorm.de\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.clickstorm.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.clickstorm.de\/blog\/#organization","name":"clickstorm GmbH","url":"https:\/\/www.clickstorm.de\/blog\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2017\/11\/logo.svg","contentUrl":"https:\/\/www.clickstorm.de\/blog\/wp-content\/uploads\/2017\/11\/logo.svg","caption":"clickstorm GmbH"},"image":{"@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/de-de.facebook.com\/clickstorm\/","https:\/\/x.com\/clickstorm_gmbh","https:\/\/www.youtube.com\/channel\/UCEaU1eUbug6OiI4uU6vA-cA"]},{"@type":"Person","@id":"https:\/\/www.clickstorm.de\/blog\/#\/schema\/person\/594fb824a2f049d33b2a1b4406bfc86b","name":"Marc","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/85b6c585f298a873f9f4be166b9fbba00a9ad2482b92863d227e5d227136d135?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/85b6c585f298a873f9f4be166b9fbba00a9ad2482b92863d227e5d227136d135?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/85b6c585f298a873f9f4be166b9fbba00a9ad2482b92863d227e5d227136d135?s=96&d=mm&r=g","caption":"Marc"},"url":"https:\/\/www.clickstorm.de\/blog\/author\/marc\/"}]}},"_links":{"self":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts\/4647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/comments?post=4647"}],"version-history":[{"count":11,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts\/4647\/revisions"}],"predecessor-version":[{"id":4698,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/posts\/4647\/revisions\/4698"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/media\/4652"}],"wp:attachment":[{"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/media?parent=4647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/categories?post=4647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.clickstorm.de\/blog\/wp-json\/wp\/v2\/tags?post=4647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}