【发布时间】:2013-01-21 07:00:41
【问题描述】:
从 PHP4 和 Cake 1.3 开始,我一直在使用 debug($data); 来调试 CakePHP 中的模型输出等内容。
但是,自从升级到 PHP5.4 后,我注意到debug($data) 似乎并不总是有效。比如今天直接做了$data = $this->Model->find('all');,debug($data);的内容好像是空的。没有错误,只是在 HTML 输出中引用了我调用调试和行号的事实,然后没有调试输出。
但是,如果我在完全相同的 find 上运行 Debugger::dump($data);,它会起作用 find 并且我会看到整个输出。
这似乎只发生在$data 有大量数据(比如 100 多条记录)时,但我在 PHP5.4 之前使用过这种大小的数据集,从来没有问题,也没有错误,内联或在 apache/php 日志中表明存在任何内存问题,并且我已将调试设置为 3。
有人知道这是为什么吗?我可以很容易地开始使用Debugger::dump($data);,但每次都需要尝试一下,我想知道为什么我不能再使用deubg();。
【问题讨论】:
-
我有时会看到某些记录的奇怪编码(通常不是 utf8)会发生这种情况。然后 debug() 输出为空,而 vardump() 和其他工作正常。也许这里也是如此?
-
啊,是的,你是对的。 PHP 升级只是一个巧合。发生这种情况的真正原因是由于数组中存在新添加的 UTF 数据。谢谢!随意添加此作为答案,我会将其标记为正确。
标签: cakephp