Sparton
Новичок
Curl жрет память, как исправить?
Есть необходимость парсить инфу с сайта, список данных выводиться постранично, листание страниц идет через POST. Использую cURL. Скрипт запускаю из браузера, в него вывожу некий отчет о пропарсенной странице. Так вот проблема в том, что браузер (Explorer) начинает отжирать память, страниц надо много листать. В конце концов комп просто зависает и сообщает о переполнении памяти. Есть скрипт который парсит инфу с другого сайта, но там проще - обходится GET-ом. Такого переполнения памяти нет. cURL юзаю недавно. PHP Version 5.2.4, libcurl/7.16.0 OpenSSL/0.9.8d zlib/1.2.3.
Может кто-нибудь подсказать по решению проблемы?
Есть необходимость парсить инфу с сайта, список данных выводиться постранично, листание страниц идет через POST. Использую cURL. Скрипт запускаю из браузера, в него вывожу некий отчет о пропарсенной странице. Так вот проблема в том, что браузер (Explorer) начинает отжирать память, страниц надо много листать. В конце концов комп просто зависает и сообщает о переполнении памяти. Есть скрипт который парсит инфу с другого сайта, но там проще - обходится GET-ом. Такого переполнения памяти нет. cURL юзаю недавно. PHP Version 5.2.4, libcurl/7.16.0 OpenSSL/0.9.8d zlib/1.2.3.
PHP:
function GoCurl($url, $data){
foreach($data as $key=>$value)
$values[]="$key=".urlencode($value);
$data_string=implode("&",$values);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url); // set url to post to
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); // return into a variable
curl_setopt($ch, CURLOPT_TIMEOUT, 30); // times out after 4s
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); // add POST fields
$result = curl_exec($ch); // run the whole process
print_r(curl_getinfo($ch));
//echo "\n\ncURL error number:" .curl_errno($ch);
//echo "\n\ncURL error:" . curl_error($ch);
curl_close($ch);
return $result;
}