我对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设置。
答案 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并不聪明。