【问题标题】:Memory leak in SimplePie with a really large feed. How to fight this?SimplePie 中的内存泄漏,提要非常大。这要怎么打?
【发布时间】:2012-04-26 14:34:32
【问题描述】:

我正在尝试使用 SimplePie 解析这个 RSS 提要:

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

而且它会造成内存泄漏,因为提要很大。它超过 4 Mb,当 SimplePie 尝试解析 XML 时,它只会填满所有可用的 RAM。

问题是,我需要解析这样的大型提要,而不会将所有 RAM 都交给 XML 解析器。我不需要此提要中的所有项目,只需要最新消息,所以也许有一种方法可以只解析 XML 的一部分?我可以编辑(或配置)SimplePie 以不完全解析这样的大文件吗?

我试过 set_item_limit() 但我猜它不会限制解析的 XML 的数量。

我认为这是一个常见问题,但我找不到答案。能给个建议吗?

【问题讨论】:

    标签: memory-leaks simplepie


    【解决方案1】:

    如果内存泄漏是由于xml页面大小造成的,可以先用file_get_contents()或者curl获取xml内容,不需要的部分自己剪掉。之后,使用set_raw_data() 将修改后的数据传递给 SimplePie 以获取提要项目。记录了一个示例here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 2018-07-27
      • 2011-05-31
      • 1970-01-01
      • 2015-11-11
      相关资源
      最近更新 更多