Snow Leopard上不可读的var_dump()输出?

时间:2010-01-21 10:55:07

标签: php xdebug var-dump

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

TIA&最好的问候

设置:Snow Leopard服务器上的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 '

5 个答案:

答案 0 :(得分:4)

你必须设置

html_errors = On

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

答案 1 :(得分:1)

您是否在预标签之间打印?


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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

试一试:

打开MAMP - &gt;转到文件菜单 - &gt;编辑模板 - &gt; PHP(你的版本).ini

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

您也可以设置html_errors = On

我希望像我一样帮助其他人。

答案 4 :(得分:-1)

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