我需要解析一个非常大的XML文件,文件大小为750Mo!内存限制和非常大的XML文件
我meomy在512M
ini_set('memory_limit', '512M');
我没有问题,打开30Mo下文件的限制,但随着750Mo,我得到一个致命的错误
Fatal error: Allowed memory size of 1677721600 bytes exhausted (tried to allocate 2988843769 bytes)
我这样做,打开文件:
$fichier = file_get_contents($inputfileName);
$xmlInput = simplexml_load_string(utf8_encode($fichier));
你有一个想法,打开这个文件?
再次增加内存的限制......如果这不是一种选择,你有什么用文件的内容做?为了给出进一步的建议,可能需要这些信息。 –
我不明白为什么XML阅读器需要分配文件大小的四倍。难道你不能'这样或那样'mmap',分割文件(根据结构),并用你最喜欢的XML阅读器一次处理一个位? –
使用XMLReader似乎可以解决问题 – bahamut100