使用xdebug时未捕获的异常

时间:2010-05-06 01:39:38

标签: php php-5.3 xdebug pecl

我对xdebug不太好,所以如果这是一个愚蠢的问题请原谅我。但是我把它安装在一台单独的机器上,它对我来说有点神奇,比如形成我的var_dump()输出并捕获任何未捕获的异常。它也无法格式化堆栈跟踪,输出非常难以阅读的纯文本。

当我学习Lithium PHP Framework时,我需要使用php5.3,在我从源代码编译的另一台机器上,但在这台机器上我使用的是dotdeb.org的预编译软件包。据我所知,唯一的区别是这是一个稍微更新的php版本,它附带了Suhosin补丁。

另一个奇怪的事情是xdebug函数如xdebug_var_dump()可以工作,除了格式不佳。

这是一台Ubuntu机器,所以我不知道它是否与dotdep软件包有什么关系,但是我已经通过pecl,可下载的tarball和SVN存储库安装了xdebug。但无济于事。

你可以在下面的要点中看到我的php.ini和php -i的输出。我将php.ini从/etc/php5/apache2/php.ini复制到了/etc/php5/cli/php.ini,所以php -i应该反映我的apache设置。

http://gist.github.com/391675

1 个答案:

答案 0 :(得分:1)

我相信您需要将php.ini的第604行更改为:

html_errors = On

来自Xdebug文档:

http://xdebug.org/docs/all_settings

  

xdebug.overload_var_dump

     

类型:布尔值,默认值:1,在Xdebug 2.1中引入

     

默认情况下,当html_errors php.ini设置为1时,Xdebug会使用自己的改进版本重载var_dump()以显示变量。如果您不想这样做,可以将此设置设置为0,但先检查是否关闭html_errors并不聪明。