我做了一个简单的请求,我从curl_exec($ch);
得到正确的响应,但是当我调用静态方法str_get_html
时,我的结果总是相同的。
Fatal error: Allowed memory size of 536870912 bytes exhausted
我尝试增加内存memory_limit=2048M
,但结果相同
我的代码:
$url = "https://www.php.net";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, []);
$this->callback = HtmlDomParser::str_get_html(curl_exec($ch));
...
任何提示?我可以使用正则表达式,但这将是我的最后选择。
[我认为HTML DOM解析器不会在每次调用file_get_html或str_get_html时清理DOM中的内存,因此,每次完成当前DOM时,都需要明确地进行处理。这就像在循环结束时或使用完毕后添加->clear()
一样简单。