调用php/cake web应用程序时没有序列化的XML响应


no serialized xml response when calling a php/cake web app

我在一个用PHP 5/cake编写的web应用程序中有一个奇怪的行为。问题是:我正在调用API从MySql返回XML格式的数据。如果总数据量很小,则一切正常。

但是当结果包含数千个数据元素(时间戳/值对)时,xml序列化函数无法返回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'));

?>

我没有看到'after serialize'的输出

$xml->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

奥弗

问题解决了-我将php.ini中的memory_limit从32M增加到512M