私はRSSフィードを解析するためにPHP5.3(gcが有効になっている)でSimplePieを使用しています。これは、次のようなことを行うときに問題なくうまく機能します。
$simplePie = new SimplePie();
$simplePie->set_feed_url($rssURL);
$simplePie->enable_cache(false);
$simplePie->set_max_checked_feeds(10);
$simplePie->set_item_limit(0);
$simplePie->init();
$simplePie->handle_content_type();
foreach ($simplePie->get_items() as $key => $item) {
$item->get_date("Y-m-d H:i:s");
$item->get_id();
$item->get_title();
$item->get_content();
$item->get_description();
$item->get_category();
}
100回以上の反復でのメモリデバッグ(さまざまなRSSフィードを使用):

しかし、を使用する$item->get_permalink()と、私のメモリデバッグは100回以上の反復でこのようになります(さまざまなRSSフィードを使用)。
問題を引き起こすコード:
foreach ($simplePie->get_items() as $key => $item) {
$item->get_date("Y-m-d H:i:s");
$item->get_id();
$item->get_title();
$item->get_permalink(); //This creates a memory leak
$item->get_content();
$item->get_description();
$item->get_category();
}

私が試したこと:
get_linkの代わりに使用するget_permalink__destroyここで説明したように使用します(5.3で修正する必要がありますが)
現在のデバッグプロセス:
SimplePie_Item::get_permalink今のところ、問題は-> SimplePie_Item::get_link-> SimplePie_Item::get_links-> SimplePie_Item::sanitize-> SimplePie::sanitize- > SimplePie_Sanitize::sanitize- > SimplePie_Registry::call- >まで追跡しているようですSimplePie_IRI::absolutize。
これを修正するにはどうすればよいですか?
