You are here: Documentation » Frequently Asked Questions » I'm getting memory leaks!
I'm getting memory leaks!
When processing a large number of feeds, a memory leak can occur causing PHP to run out of memory. This is due to PHP Bug #33595 where PHP doesn't release memory when making recursive (i.e. self-referential) object calls. The problem is due to recursive references within SimplePie (and PHP's poor handling of said references). This issue affects all versions of PHP earlier than 5.3 (which has not yet been released).
In SimplePie 1.1 and above, you simply need to call the destructor method before unsetting the $feed and $item variables:
<?php for ($i = 1; $i < 10; $i++) { $feed = new SimplePie(); $feed->set_feed_url($url); $feed->init(); $feed->handle_content_type(); $item = $feed->get_item(0); $feed->__destruct(); // Do what PHP should be doing on it's own. unset($item); unset($feed); echo "Memory usage: " . number_format(memory_get_usage()); } ?>
See Also
faq/i_m_getting_memory_leaks.txt · Last modified: 2009/04/11 04:12 by gsnedders

