使用Php的类simple_html_dom抓取网页时可能会出现Segmentation fault错误,解决办法就是把simple_html_dom_node类中的clear()方法
// clean up memory due to php5 circular references memory leak... function clear() { $this->dom = null; $this->parent = null; $this->parent = null; $this->children = null; }
替换成:
// clean up memory due to php5 circular references memory leak...
function clear()
{
unset($this->dom);
unset($this->parent);
unset($this->parent);
unset($this->children);
}
在递归抓取网页时这种错误很容易出现,原因就是因为null并未真正释放变量,而只是把变量的值附成null,所以当过多的变量未释放时就会出现内存泄露错误