Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a way to disable xdebug's var_dump temporarily?

I want to use Zend_Debug::dump, to keep some variables in the log, but since I have xdebug installed, and xdebug replaces php's var_dump, my values in log are html values produced by xdebug.

I was wondering if there is a way in php to disable this feature, and enabled it again, so that I could put them above and below this line:

    $Message = Zend_Debug::dump($objects, null, false);
like image 394
Yasser1984 Avatar asked Nov 21 '11 03:11

Yasser1984


People also ask

How do I disable xdebug in composer?

As of Xdebug 3, it is possible to disable the Xdebug completely by setting the option xdebug. mode to off , or by setting the environment variable XDEBUG_MODE=off . It is very easy to disable Xdebug just for composer, by aliasing composer . You can add the alias to your $HOME/.

How do I disable xdebug in Magento 2?

UPDATE -- Disable for CLI only d/20-xdebug. ini is just a symlink and if you edit it, you edit the original file which is common for cli and non-cli. I think the right solution is simple delete the symlink.


2 Answers

I had to add xdebug.overload_var_dump=off to php.ini to disable xdebug's overloading the var_dump() function, permanently for me.

like image 101
rafi Avatar answered Oct 01 '22 07:10

rafi


Internally Zend_Debug uses var_dump, and AFAIK you can't turn off XDebug's var_dump overloading in runtime.

You can do two thing to get your output without html tags.

  1. Disable html_errors by ini_set('html_errors', 0) before dump.
  2. Instead of using Zend_Debug, use $Message = print_r($objects, true) - notice second parameter.
like image 28
Radek Benkel Avatar answered Oct 01 '22 06:10

Radek Benkel