我在使用PHP 5 /蛋糕运行的网络应用程序中有一个奇怪的行为。 问题是: 我正在调用一个API来从MySql返回XML格式的数据。 如果总数据量很小,一切正常。
但是当结果包含数千个数据元素(时间戳/值对)时,xml serialize函数无法返回xml响应。它实际上看起来像线程死了,可能是由于异常?
这是代码 - 这是 app / views / analytic / ajax.ctp ,在我从数据库获得数据后确定:
<?php
header("Content-Type: text/xml");
e('<?xml version="1.0"?>');
echo 'before serialize';
e($xml->serialize2($msg, array('format' => 'tags')));
echo 'after serialize';
e($this->element('sql_dump'));
&GT;
我没有看到'序列化后'输出。
$ xml-&gt; serialize()是 cake / views / helpers / xml.php
的一部分function serialize($data, $options = array()) {
$options += array('attributes' => false, 'format' => 'attributes');
$data =& new Xml($data, $options);
return $data->toString($options + array('header' => false));
}
看起来这一行导致了问题:
$data =& new Xml($data, $options);
我在没有运气的情况下到处搜寻这个问题。
非常感谢任何帮助!
THX
奥弗
答案 0 :(得分:0)
问题解决了 - 我将php.ini中的memory_limit从32M增加到512M。