0

我对 xdebug 不太了解,所以如果这是一个愚蠢的问题,请原谅我。但我将它安装在一台单独的机器上,它为我执行了一些魔法,比如格式化我的 var_dump() 输出并捕获任何未捕获的异常。它也无法格式化堆栈跟踪,输出极难阅读的纯文本。

当我学习 Lithium PHP 框架时,我需要使用 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

4

1 回答 1

1

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

html_errors = On

来自 Xdebug 文档:

http://xdebug.org/docs/all_settings

xdebug.overload_var_dump

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

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

于 2010-05-06T05:12:43.610 回答