4

ループで PHPQuery (HTML パーサー) を使用しており、phpQuery::unloadDocuments(). ループは次のように単純化されます。

while(...){
  $doc="parsed stuff";
  ...
  unset($doc);
}

ただし、しばらくするとスクリプトがメモリ不足になるため、これにはメモリ リークがあります。オンラインで検索した後、誰かがメモリ リークを避けるために関数でラップすることを勧めたので、次のように変更しました。

function r(){
  $doc="parsed stuff";
  ...
  unset($doc);
}
while(...)
  r();

これでメモリリークは止まりました。どうしてこれなの?

4

1 に答える 1

0

このhttp://php.net/manual/en/language.references.unset.phpを参照してください。そこに良い例があります。

于 2013-03-24T05:44:43.647 に答える