CakePHP debug()不起作用,但Debugger :: dump()没问题

时间:2013-01-21 07:00:42

标签: cakephp

自PHP4和Cake 1.3以来,我一直在使用debug($data);来调试CakePHP中的模型输出等内容。

但是,自升级到PHP5.4以来,我注意到debug($data)似乎并不总是有效。例如,今天我做了一个直截了当的$data = $this->Model->find('all');debug($data);的内容似乎是空的。没有错误,只是HTML输出中的一个引用,我调用了调试和行号,然后没有调试输出。

但是,如果我在完全相同的查找上运行Debugger::dump($data);,它可以找到并查看整个输出。

似乎只有在$data拥有大量数据(例如,100多条记录)时才会发生这种情况,但我在PHP5.4之前使用了这个大小的数据集,并且从来没有出现任何问题没有错误,内联或在apache / php日志中表明存在任何内存问题,我将调试设置为3。

有谁知道为什么会这样?我可以轻易地开始使用Debugger::dump($data);,但每次尝试都需要额外的一点,我想知道为什么我不能再使用deubg();了。

1 个答案:

答案 0 :(得分:6)

如果你的应用程序的其余部分是UTF-8,那么db记录中的非utf8编码数据就会发生这种情况。 debug()然后只输出“无”。不过,var_dump()print_r()和其他php内部方法仍应打印输出。

您通常可以使用iconv()等将它们重新编码为utf8。