Memory problem in PHP simple HTML DOM

I was using PHP Simple HTML dom, a great and free library for parsing html pages and retreiving info from it. I really liked it.. But when it comes to parsing many differents pages of some website in one php script, you will get an error:

Allowed memory size of 67108864 bytes exhausted,

and this is because simple HTML dom don't free up the memory in real time, so the solution is:

Each time you create a dom object ( foe exemple using: $html = file_get_html("http://someurl/"); or  str_get_html... ), then when you don't need it anymore you have to call _destruct:
$html->_destruct();
unset($html);

7 comments:

Anonymous said...

thanks so much for posting this!
but there is a type. it should be __destruct, not _destruct.

Wojtek said...

Thanks a lot!
I was looking for a solution to this problem and that was it.
Would be good to fix the typo, though. Like the guy above wrote, there's a double _

Cheers.

Facebook App Developer said...

yes,
i also was surfing the net for this problem like Wojtek,
and now i have solve my prob,
thanks

Anonymous said...

Thank you very much!

TechToyz said...

Again an awesome Article

rize wordpress said...

Our company has cumulative decades of experience programming PHP in all sorts of applications. PHP Programmers

Lia said...

Thanks for sharing this information and I know it can helpful. I will save it so that if I can encounter a problem in PHP I can use it. Keep it up.