phpquery是一个开源项目类似于jQuery是PHP实现,可以进行服务器端的jQuery syntax.phpquery形式比匹配的网页定期或其他方式使用更方便。
当使用phpquery收集网页,有一个问题:在处理大量的网页,占用内存量是非常惊人phpquery(很快超过1G)。
例如,代码的这一部分:
复制代码代码如下所示:
当(真){
phpquery::newdocumentfile($ HTML文件);
处理web页面元素…
memory_get_usage(回声)。;
}

小心地运行上面的代码,它会很快占用你的内存。
在查看phpquery源代码,终于发现了这个问题,phpquery产生domdocumentwrapper对象在每个处理页面可以,每个domdocumentwrapper对象将被存储在文件的静态成员(phpquery美元::createdocumentwrapper),这个变量是一个数组,每个解析Web页面将增加一个数组元素。
phpquery::$文件{ $包装-> ID } = $包装;
当发现问题时,很容易解决问题。每一次你解析Web页面,你可以清空phpquery::$文件。
复制代码代码如下所示:
当(真){
phpquery::newdocumentfile($ HTML文件);
处理web页面元素…
phpquery::$文件=阵();
memory_get_usage(回声)。;
}

内存占用稳定。