2011年08月31日に投稿

[PHP] PHP Simple HTML DOM Parser で繰り返し処理を行うとメモリが大量に消費されるのを回避する

PHP Simple HTML DOM Parserという HTML をパースを行い jQuery のように簡単にスクレイピングすることができるライブラリがあるのですが、for などで繰り返しメソッドを使用すると大量にメモリを消費してしまい処理が中断してしまうことがありました。

その原因を調べたところ有名な現象のようですぐに解決策が見つかりました。下記のように $html の使用が終わったら clear メソッドの実行し、$htmlunset することで for で繰り返してもメモリの大量消費が発生することはなくなりました。

参考
 http://simplehtmldom.sourceforge.net/manual_faq.htm
 http://looxu.blogspot.com/2010/07/blog-post.html

関連記事

Leave a Reply