【发布时间】:2015-11-21 11:02:54
【问题描述】:
我对 PHP 函数 xml_parse 有疑问。它不适用于大文件 - 我有 10MB 大小的 xml 文件。
问题是,我有 Zend 的旧 XML-RPC 库,还有其他功能(元素处理程序和大小写折叠)。
$parser_resource = xml_parser_create('utf-8');
xml_parser_set_option($parser_resource, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($parser_resource, 'XML_RPC_se', 'XML_RPC_ee');
xml_set_character_data_handler($parser_resource, 'XML_RPC_cd');
if (!xml_parse($parser_resource, $data, 1)) {
// ends here with 10MB file
}
在另一个地方,我只是使用带有选项 LIBXML_PARSEHUGE 的 siple_load_xml_file,但在这种情况下我不知道该怎么办。
最好的方法是,如果函数 xml_parse 也有一些用于大文件的参数。
感谢您的建议
错误是: XML 错误:行中没有内存...
【问题讨论】:
-
您在运行命令时查看过内存消耗吗?也许你的内存用完了?
-
我将尝试使用 256MB 的 ini_set,但仍然出现错误。我看到有一个 8MB 的元素 - 如果它意味着什么。
标签: php xml-parsing