0

我配置了如下所示的 xdebug,但错误输出完全不可读。你知道设置有什么问题吗?

TIA 和最好的问候

设置:雪豹服务器上的 Apache/2.2.13 (Unix) PHP/5.3.0

从 php.ini 配置:

xdebug.remote_autostart=0
xdebug.remote_enable=1
xdebug.remote_host=10.0.1.9
xdebug.remote_connect_back=0
xdebug.idekey="macgdbp"
xdebug.remote_port=10000
xdebug.remote_handler="dbgp"
xdebug.remote_mode="req"

; profiler
xdebug.profiler_output_dir = "/tmp/xdebug/"
xdebug.profiler_enable = On

; stacktraces & var_dump() output config
xdebug.overload_var_dump=1
xdebug.show_local_vars=1
xdebug.collect_params=4
xdebug.dump.GET=*
xdebug.dump.POST=*
xdebug.dump_globals=On
xdebug.show_exception_trace=On

; codetracer
xdebug.auto_trace=On
xdebug.trace_output_dir="/Users/admin/Sites/xdebugtracer"
xdebug.collect_return=On

输出:

注意:未定义变量:第 76 行 /Users/admin/Sites/hanak4/scripts/jwplaylist.php 中的文件调用堆栈:0.0003 648584 1. {main}() /Users/admin/Sites/hanak4/scripts/jwplaylist.php :0 局部范围内的变量(#1):$config = class stdClass { public $showFirst = 'youtube'; public $playFirst = '01 Hanak Heumarkt.flv' } $db_host = 'localhost' $db_link = FALSE $db_name = 'db_fernan' $db_pass = 'Yes6uf5eNa' $db_prefix = 'ing_' $db_user = 'usr_fernan' $e = *uninitialized* $fh = array (0 => '{"showFirst":"youtube","playFirst":"01 Hanak Heumarkt.flv"}') $file = FALSE $files = *uninitialized* $key = *uninitialized* $parts = array (0 => 'Hanak Jeckdance 2009', 1 => 'flv') $path = '.' $pointer = resource(7) of type (Unknown) $sql = 'SELECT * FROM ing_video ORDER BY id DESC' $videos = array (0 => '01 Hanak Heumarkt.flv', 1 => 'Center TV.flv', 2 => 'Express TV.flv', 3 => 'Hanak Jeckdance 2009.flv') $xmlstr = '\n\n\t '

警告:在第 76 行的 /Users/admin/Sites/hanak4/scripts/jwplaylist.php 中为 foreach() 提供的参数无效调用堆栈:0.0003 648584 1. {main}() /Users/admin/Sites/hanak4/scripts/ jwplaylist.php:0 本地范围内的变量(#1):$config = class stdClass { public $showFirst = 'youtube'; public $playFirst = '01 Hanak Heumarkt.flv' } $db_host = 'localhost' $db_link = FALSE $db_name = 'db_fernan' $db_pass = 'Yes6uf5eNa' $db_prefix = 'ing_' $db_user = 'usr_fernan' $e = *uninitialized* $fh = array (0 => '{"showFirst":"youtube","playFirst":"01 Hanak Heumarkt.flv"}') $file = FALSE $files = *uninitialized* $key = *uninitialized* $parts = array (0 => 'Hanak Jeckdance 2009', 1 => 'flv') $path = '.' $pointer = resource(7) of type (Unknown) $sql = 'SELECT * FROM ing_video ORDER BY id DESC' $videos = array (0 => '01 Hanak Heumarkt.flv', 1 => 'Center TV.flv', 2 => 'Express TV.flv', 3 => 'Hanak Jeckdance 2009.flv') $xmlstr = '\n\n\t '

4

5 回答 5

4

你必须设置

html_errors = On

在您的 php.ini 中,这允许 xdebug 正确输出。

于 2010-01-26T11:23:20.027 回答
1

你是在预标签之间打印这个吗?


print '<pre>';
var_dump($my_var);
print '</pre>';

这应该确保格式正确。我不确定为什么没有颜色。

于 2010-01-21T18:24:47.880 回答
0

看起来您的错误日志没有在每个错误之间读取(或添加)换行符(或者这只是它发布到 SO 的方式?)

注意:向问题添加代码或输出时,请使用编辑器中的代码按钮 - 它看起来像 101010。

于 2010-01-21T11:39:07.037 回答
0

我找到了解决方案。自两个月前以来,我遇到了同样的“问题”。

尝试一下:

打开 MAMP -> 转到文件菜单 -> 编辑模板 -> PHP (your-version).ini

在文件末尾取消注释 Xdebug 扩展名。

你也可以设置 html_errors = On

我希望能帮助像我这样的其他人。

于 2013-08-22T14:25:25.150 回答
-1

如果您无法编辑 php.ini 并且如果您错过了添加 pre 标记,您可以通过另一种方式查看完整错误,通过在任何浏览器中查看源代码,我经常使用它来修复。

于 2012-09-02T16:48:09.977 回答