QueryList采集一段时间后 Document with ID '71a5e8a9e18113c4e26bde60b6d002d8' isn't loaded. Use phpQuery::newDocument($html) or phpQuery::newDocumentFile($file) first.
1、QueryList采集一段时间后
提示:Document with ID '71a5e8a9e18113c4e26bde60b6d002d8' isn't loaded. Use phpQuery::newDocument($html) or phpQuery::newDocumentFile($file) first.
此类错误一般是因为脚本中涉及大量的QueryList对象调用,而又没有及时释放资源的内存占用,导致内存溢出引起的,解决方法就是尽量重用同一个QueryList对象并及时释放资源的内存占用:
错误示范:
foreach ($urls as $url) {
QueryList::get($url)->rule([
//....
])->query()->getData();
}
正确写法:
$ql = QueryList::rule([
//....
]);
foreach ($urls as $url) {
$ql->get($url)->query()->getData();
// 释放资源,销毁内存占用
$ql->destruct();
}
我之前就是遇到这个错误,耽误很长时间
官方文档:http://www.querylist.cc/docs/api/v4/destruct

浙公网安备 33010602011771号