次のコードはループしています。各ループは、$ URIを新しいアドレスに変更します。 私の問題は、各パスがますます多くのメモリを占有することです。PHP cURL、CURLOPT_RETURNTRANSFER使用時のメモリリーク
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $URI);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$res = curl_exec($ch);
curl_close($ch);
私は最終的に私はCURLOPT_RETURNTRANSFERラインリーク停止をコメントアウトかのことを働きました。
私は "CURLOPT_RETURNTRANSFER、true"を使用するので、解析する文字列としてcURL操作の結果を取得できます。しかし、この文字列を格納するために使用されるメモリは、各パスで解析されないように見えます。 誰もがこのバッファをクリアし、使用されたメモリを回復する方法を提案できますか?私が使用できるデストラクタはありますか?__destruct()を試しましたが、構文を正しく取得できないようです。 PHPの
おかげ C
あなたはphp 5.2またはphp 5.3を使用していますか? php5.3の –
は、関数gc_collect_cycles()を呼び出すことができます。あなたのループのサイクルのすべての量 –
ありがとう。 V 5.1.6。なぜ私はそれほど低い私はそれをちょうど打ち破ったかわからない。 – Columbo