У меня странное поведение в веб-приложении, написанном на PHP 5 / cake, работающем на centos.
Проблема заключается в следующем:
Я вызываю API для возврата данных в формате XML из MySql.
Если общий размер данных невелик, все работает нормально.
Но когда результат включает в себя тысячи элементов данных (пары меток времени / значений), функция сериализации 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'));
?>
Я не вижу выход «после сериализации».
$ 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
Офер