Xdebug and var_dump

July 13, 2015 —John Koster

If you are using Xdebug with PHP and are using the var_dump function it is important to note that Xdebug will limit var_dump's depth when dumping information about a variable. By default this limit is 3 and can easily be identified by the ellipsis that are added to var_dump's output:

1object(Illuminate\Support\Collection)[135]
2 protected 'items' =>
3 array (size=2)
4 0 =>
5 object(Illuminate\Support\Collection)[133]
6 protected 'items' =>
7 array (size=3)
8 ...
9 1 =>
10 object(Illuminate\Support\Collection)[134]
11 protected 'items' =>
12 array (size=3)
13 ...

This Xdebug setting can be configured via the php.ini file (as explained in Xdebug's documentation section "xdebug.var_display_max_depth"). Luckily for us, this configuration value can be modified using PHP's init_set function, so it can be changed whenever we want during a script's execution:

1<?php
2 
3// Change var_dump's depth when using Xdebug:
4ini_set('xdebug.var_display_max_depth', '10');

Now var_dump will output all the information we were originally looking for:

1object(Illuminate\Support\Collection)[135]
2 protected 'items' =>
3 array (size=2)
4 0 =>
5 object(Illuminate\Support\Collection)[133]
6 protected 'items' =>
7 array (size=3)
8 0 => string '1' (length=1)
9 1 => string '2' (length=1)
10 2 => string '3' (length=1)
11 1 =>
12 object(Illuminate\Support\Collection)[134]
13 protected 'items' =>
14 array (size=3)
15 0 => string '4' (length=1)
16 1 => string '5' (length=1)
17 2 => string '6' (length=1)

#Conclusion

If you are having difficulties displaying all the information you need when using the var_dump function and you have Xdebug installed and enabled, it is more than likely a configuration value you missed. Modify the xdebug.var_display_max_depth configuration value as needed to display all the information needed.

Some absolutely amazing
people

The following amazing people help support this site and my open source projects ♥️
If you're interesting in supporting my work and want to show up on this list, check out my GitHub Sponsors Profile.