中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

phpQuery占用內(nèi)存過多的處理方法

phpQuery是一個(gè)用php實(shí)現(xiàn)的類似jQuery的開源項(xiàng)目,可以在服務(wù)器端以jQuery的語(yǔ)法形式解析網(wǎng)頁(yè)元素。 相對(duì)于正則或其它方式匹配網(wǎng)頁(yè)方式,phpQuery使用起來(lái)要方便的多。
在使用phpQuery采集網(wǎng)頁(yè)時(shí),遇到一個(gè)問題:在處理大量網(wǎng)頁(yè)之后,phpQuery占用的內(nèi)存數(shù)量非常驚人(很快就超過了1G),
比如這段代碼:
復(fù)制代碼 代碼如下:
while (true) {
    phpQuery::newDocumentFile($htmlFile);
    // 處理網(wǎng)頁(yè)元素...
    echo memory_get_usage() . "/n";
}

謹(jǐn)慎運(yùn)行上面這段代碼,它會(huì)很快用光你的內(nèi)存。
經(jīng)過查看phpQuery的源代碼終于發(fā)現(xiàn)了問題所在,phpQuery在每處理一個(gè)網(wǎng)頁(yè)就會(huì)產(chǎn)生一個(gè)DOMDocumentWrapper 對(duì)象,而每個(gè)DOMDocumentWrapper 對(duì)象會(huì)被保存在靜態(tài)成員$documents中(phpQuery::createDocumentWrapper中),這個(gè)變量是一個(gè)數(shù)組,每解析一個(gè)網(wǎng)頁(yè)數(shù)組元素就增加一個(gè)。
phpQuery::$documents[$wrapper->id] = $wrapper;
找到問題后,解決就很容易了,每次解析完一個(gè)網(wǎng)頁(yè),把phpQuery::$documents置空即可。
復(fù)制代碼 代碼如下:
while (true) {
    phpQuery::newDocumentFile($htmlFile);
    // 處理網(wǎng)頁(yè)元素...
    phpQuery::$documents = array();
    echo memory_get_usage() . "/n";
}

內(nèi)存占用穩(wěn)定了。

php技術(shù)phpQuery占用內(nèi)存過多的處理方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 一级片在线观看视频 | 一级视频在线免费观看 | 亚洲国产精品久久久久婷婷老年 | 欧美日韩在线一区二区 | 国产在线一区二区三区 | 红桃视频一区二区三区免费 | 亚洲一区中文字幕 | 欧美一区二区三区日韩 | 涩色视频在线观看 | 精精精精xxxx免费视频 | 蜜桃特黄a∨片免费观看 | 国产高清免费视频 | 亚洲欧洲日韩 | 欧美激情国产精品 | 成人免费一区二区三区视频网站 | 在线国产视频观看 | 国产2区 | 日韩在线免费 | 2一3sex性hd| 日韩中出 | 亚洲字幕在线观看 | 免费观看黄网站 | 99精品网站 | 国产精品久久久久久福利一牛影视 | 久久机热 | 777777777亚洲妇女 | 亚洲一区二区三区四区av | 91操操操 | 免费看黄视频网站 | 久久中文视频 | 欧美成人一区二区 | 成人一级黄色毛片 | 成人在线 | 亚洲永久免费观看 | 成人av在线网站 | 欧美综合一区二区三区 | 国产在线高清 | 成人在线 | www亚洲免费国内精品 | 欧美中文 | 国产不卡一区在线观看 |