php - 致命错误:使用 str_get_html 时允许的字节内存大小耗尽
问题描述
我做了一个简单的请求,我得到了正确的响应,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 Parser 不会在每次调用 file_get_html 或 str_get_html 时清理 DOM 中的内存,因此每次完成当前 DOM 时都需要明确地完成它。->clear()
这就像在循环结束或使用完它时添加一样简单。
推荐阅读
- c - 在不使用 awk 或 sed 的情况下按特定列中的一系列值过滤 .csv 文件
- ruby-on-rails - Docker:错误:服务“应用程序”无法构建:复制失败:stat /var/lib/docker/tmp/docker-builder818844007/entrypoint.sh:没有这样的文件或目录
- python - Python字典:为dict中的所有键创建一个列表,为dict中的所有值创建另一个列表
- django - 如何自定义 Django ModelForm 字段?
- javascript - 准备就绪时带有 Promise 输出的 Javascript
- python - 测试 Flask-Wtform 日期时间字段
- ios - 使用 Expo 构建的 React-Native 应用程序在设备 (iOS) 上的模拟器上运行良好,引发 Expo,但在使用 TestFlight 运行时崩溃
- react-native - 来自 fatsecret.com 的 Axios React Native Token 请求
- python - 在 Django 中使用服务器启动从执行中排除 python 文件
- python - 获取熊猫数据框中多个选定列的平均值