我的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 '
答案 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,并且如果您错过了添加预标记,则还有另一种方法可以查看完整错误,通过在任何浏览器中执行查看源,我经常使用它来修复。