PHP Simple HTML DOM Parser で「セグメンテーション違反です」 「zend_mm_heap corrupted」が発生する。

PHP Simple HTML DOM Parser というPHPでHTMLを解析する際にとても便利なライブラリ。

これを利用してプログラムを試作していたが、どうしても「セグメンテーション違反です」 「zend_mm_heap corrupted」が発生する。

原因を探ってみたが、一部のロジックをコメントにするとエラーが起こらなくなるしよくわからないでいたら、Q/Aがあった。

どうもPHP Simple HTML DOM Parser では、 DOMを生成して利用後は必ず clearをCallする必要があるようだ。具体的には次の処理を入れることによってエラーが発生しなくなった。

$html->clear(); 
unset($html);

参考URL http://simplehtmldom.sourceforge.net/manual_faq.htm#memory_leak

関連記事