DOMDocument PHP内存泄漏

9 php memory-leaks domdocument

在MAC上的MAMP下运行PHP 5.3.6,内存使用量会增加每x次调用(3到8之间),直到脚本因内存耗尽而死亡.我该如何解决?

libxml_use_internal_errors(true);
while(true){
 $dom = new DOMDocument();
 $dom->loadHTML(file_get_contents('http://www.ebay.com/'));
 unset($dom);
 echo memory_get_peak_usage(true) . '<br>'; flush();
}
Run Code Online (Sandbox Code Playgroud)

Tak*_*Tak 19

使用libxml_use_internal_errors(true);抑制错误输出但建立连续的错误日志,并附加到每个循环上.禁用内部日志记录并禁止PHP警告,或清除每个循环迭代的内部日志,如下所示:

<?php
libxml_use_internal_errors(true);
while(true){
 $dom = new DOMDocument();
 $dom->loadHTML(file_get_contents('ebay.html'));
 unset($dom);
 libxml_use_internal_errors(false);
 libxml_use_internal_errors(true);
 echo memory_get_peak_usage(true) . "\r\n"; flush();
}
?>
Run Code Online (Sandbox Code Playgroud)

  • 随意在其他答案中交叉发布和/或链接到这里并传播爱.@FrancisAvila谢谢,好好发现:) (2认同)