致命的なエラー: 268435456 バイトの許容メモリ サイズを使い果たしました。
PHP 5.3 バージョンをインストールし、gc_collect_cycles(); を追加しました。
必要な場所。
私はPHPの単純なDOMライブラリを多数のURL(Webサイト)で使用して、それらが適切かどうかを確認しています(YouTube、metacafeとは異なるSRC属性を持つiframeまたはembedタグがある場合、HTMLにiframeタグとembedタグがあるかどうかをチェックします)または、dailymotion は URL に NOT GOOD のフラグを立てます。
Web サイトは私のものです (誰もスクレイピングしていません)。
clear() メソッド、null、unset、および gc_collect_cycles がループの最後で毎回呼び出されるとメモリ リークが発生するのはなぜですか。
foreach ($data as $blog) {
$htm = file_get_html($blog['blogurl']);
if ($htm->find('iframe', 0)) {
foreach ($htm->find('iframe') as $if) {
if (! preg_match('/(dailymotion\.com|metacafe\.com|youtube\.com)/i', @ $if->src)) {
//this URL i
mark_url_not_good($blog['blogurl']);
$htm->clear();
$htm = null;
unset($htm);
gc_collect_cycles();
continue 2;
}
}
}
$htm->clear();
$htm = null;
unset($htm);
gc_collect_cycles();
}