我需要解析一個非常大的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