Ich habe mich heute im Zuge eines kleinen Problems mit einem Stacktrace etwas mit der xDebug Konfiguration beschäftigt. Dabei bin ich auf eine kleine nützliche Option gestoßen, welche ich euch nicht vorenthalten möchte.
Es gibt die Option xdebug.collect_params
, welche verschiedene Level an Output ermöglicht. Ich habe mich in meiner VM für den Wert 2 entschieden, da mir dieser am sinnvollsten erschien. Hierbei werden die Variablen Typen direkt angezeigt und via Mouseover wird der Inhalt der Variable angezeigt. Kann sehr nützlich sein, wie ich finde. Die weiteren Level empfand ich als zu unübersichtlich, da dann die Variablen direkt ausgegeben werden, aber da kann man natürlich auch selbst schauen, wie es einem liegt.
Value | Argument Information Shown |
---|---|
0 | None. |
1 | Type and number of elements (f.e. string(6), array(8)). |
2 | Type and number of elements, with a tool tip for the full information 1. |
3 | Full variable contents (with the limits respected as set by xdebug.var_display_max_children, xdebug.var_display_max_data and xdebug.var_display_max_depth. |
4 | Full variable contents and variable name. |
5 | PHP serialized variable contents, without the name. (New in Xdebug 2.3) |
Eine Alternative oder auch zusätzliche Option zu der Ersten stellt xdebug.show_local_vars
da. Hierbei werden die lokalen Variablen unter dem Stacktrace angezeigt. Dabei haben die Variablen den Inhalt, den sie beim Zeitpunkt der auslösenden Aktion hatten. Dies kann sehr angenehm sein, jedoch muss man hierbei aufpassen, da dies den Stacktrace sehr aufblähen kann. Ausprobieren kann jedoch nicht schaden. Hierbei gibt es nur die typischen Boolean Werte 1 für aktiviert und 0 für deaktiviert.
Um die Option zu konfigurieren, müssen die PHP Settings angepasst werden. Hier macht es meines Erachtens Sinn, dass man für die Apache Konfiguration 2 und für die CLI Konfiguration 1 wählt, da es auf der CLI keinen Tooltip gibt.
Unter beispielsweise /etc/php5/apache2/conf.d/25-xdebug.ini befindet sich die Konfiguration von xDebug. Der Pfad kann natürlich bei der jeweiligen VM / dem jeweiligen Betriebssystem abweichen. Falls noch nicht vorhanden oder aktiv, fügt man die Option ein bzw entfernt das Semikolon für die Auskommentierung.
Ich habe aktuell beide Optionen aktiviert und werde in der nächsten Zeit schauen, ob ich beides aktiviert lasse oder mich schlussendlich für eins entscheide.
Eine Vorschau der Optionen findet ihr hier.
Wie können wir Schülerinnen und Schüler für die Informatik begeistern – und ihnen spannende berufliche…
Was ist AR,MR,VR und XR? Und wie ist es selber in der virtuellen Welt zu…
Vergangene Woche fand unser jährliches Netzwerk-Event der imx.Daten-und Serviceplattform statt. So viel sei vorab gesagt…
imx.Platform-Kunden nutzen bereits seit einigen Jahren Services aus dem Bereich der Künstlichen Intelligenz (KI), wenn…
Wie geht man am besten an einen Blogbeitrag über den Jahresauftakt #imxkickoff2024 des infomax-Teams vergangene…
Phil, Stefan und Vroni berichten vom Tag der Ausbildung in Traunstein, der größten Bildungsmesse in…