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)