2012-04-26 18 views
2

我試圖用對了SimplePie解析這個RSS提要:SimplePie中的內存泄漏帶有非常大的進紙。如何打這個?

http://www.merdekapost.com/feeds/posts/default

,它創造了內存泄漏,因爲飼料是巨大的。它超過4 MB,當SimplePie試圖解析XML時,它只是填充所有可用的RAM。

事情是,我需要解析像這樣的大提要,而不必把我所有的RAM都放棄到XML解析器。我不需要這個提要中的所有條目,只有最新的消息,所以也許有一種方法只能解析XML的一部分?我可以編輯(或配置)SimplePie以不完全解析這樣的大文件嗎?

我試過set_item_limit(),但我想它不會限制解析XML的數量。

我認爲這是一個常見問題,但我找不到答案。你能建議嗎?

回答

2

如果內存泄漏是由xml頁面的大小引起的,您可以首先使用file_get_contents()或curl檢索xml內容,並通過自己切斷不需要的部分。之後,將修改後的數據傳遞給SimplePie並使用set_raw_data()來提取Feed項目。一個例子記錄在here