类似于xml_parse()
(请参阅xml_parse No memory error PHP),功能xml_parse_into_struct()
似乎有内存问题。
解析XML文件(大小超过9MB)会在最后一行最后一个字符上显示错误“无内存”。
$report_errors = true;
$parser = xml_parser_create('UTF-8');
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 0);
xml_parse_into_struct($parser, $data, $vals);
if ($report_errors) {
$errorcode = xml_get_error_code($parser);
echo xml_error_string($errorcode) . ' line ' .
xml_get_current_line_number($parser) . ' column ' .
xml_get_current_column_number($parser) . PHP_EOL;
// No memory line 3876 column 8
}
xml_parser_free($parser);
当我不要求输入错误时,一切都很好:(但我不相信它)
$report_errors = false;
有没有一种方法可以实现块加载(如上述链接中所述)
xml_parse_into_struct()
?
(Debian 9.5 amd64,PHP 7.0.30,libxml2 2.9.4)