首页 > 作文

phpQuery占用内存过多的处理方法

更新时间:2023-04-06 09:35:28 阅读: 评论:0

phpquery是一个用php实现的类似jquery的开源项目,可以在服务器端以jquery的语法形式解析网页元素。 相对于正则或其它方式匹配网页方式,phpquery使用起来要方便的多。

在使用phpquery采集网页时,遇到一个问题:在处理大量网页之后,phpquery占用的内存数反三角函数与三角函数的关系量非常惊人(很快就超过了1g),

比如这段代码:


复制代码 代码如下:

while (tru名人故事200字e) {

phpquery::newdocumentfile($htmlfile);

// 处理网页元素…

echo memory_get_usage() . “\n”;

}

谨慎运行上面这段代码,它会很快用光你的内存。

经过查看phpquery的源代码终于发现了问题所在,phpquery三级贫困证明在每处理一个网页就会产生一个domdocumentwrapper 对象,而每个d关于环保的资料omdocumentwrapper 对象会被保存在静态成员$documents中(phpque谜语及答案ry::createdocumentwrapper中),这个变量是一个数组,每解析一个网页数组元素就增加一个。

phpquery::$documents[$wrapper->id] = $wrapper;

找到问题后,解决就很容易了,每次解析完一个网页,把phpquery::$documents置空即可。


复制代码 代码如下:

while (true) {

phpquery::newdocumentfile($htmlfile);

// 处理网页元素…

phpquery::$documents = array();

echo memory_get_usage() . “\n”;

}

内存占用稳定了。

本文发布于:2023-04-06 09:35:26,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/f3672c40f978cb4fd05d3375a44f2e90.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:phpQuery占用内存过多的处理方法.doc

本文 PDF 下载地址:phpQuery占用内存过多的处理方法.pdf

标签:网页   代码   是一个   元素
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图