simple_html_dom.php是php的一个开源的用于抓取页面并DOM化页面的类库
今天在用这个脚本有很严重的内存溢出问题,在运行结束之后DOM不会在对象中被清除.如果用循环来抓取就会吃光内存
刚开始使用
$html=null;
unset($html);
去清除生成的DOM文档,毕竟这个DOM文档太大了,可是并没有起到作用
折腾半天找到了解决方法这是因为php5循环引用造成的内存溢出,在此之后, 如果你多次使用file_get_dom(),你必须调用$dom->clear()释放内存.
Example:
$html = file_get_html(...);
// do something...
$html->clear();
unset($html);
这个事情再次说明,php在处理大的数组时候要格外小心,使用完的大数组要及时回收内存
~打下无节操有底线广告,欢迎关注: 点我