簡體   English   中英

PHP cURL,使用CURLOPT_RETURNTRANSFER時內存泄漏

[英]PHP cURL, memory leak when using CURLOPT_RETURNTRANSFER

以下代碼處於循環中。 每個循環都將$ URI更改為新地址。 我的問題是每次傳遞占用的內存越來越多。

$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()但似乎無法正確使用語法。

謝謝C.

當使用“CURLOPT_RETURNTRANSFER,true”將cURL的結果存儲為字符串時,PHP的5.1.6版本似乎存在內存泄漏問題。 升級到5.3為我排序泄漏。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM