Jump to content
php.lv forumi

curl un memory


kapec gan ne

Recommended Posts

sveiki! problēma tāda curl izpildoties ciklā nem vairāk un vairāk ram lidz tas beidzas :{ nepabeidzot to

 

pati funkcija kuru izmantoju ciklā:

 

function grab($url = ''){
if(!$url)
return 0;
$curl = curl_init();
$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
$header[] = "Cache-Control: max-age=0";
$header[] = "Connection: keep-alive";
$header[] = "Keep-Alive: 300";
$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
$header[] = "Accept-Language: en-us,en;q=0.5";
$header[] = "Pragma: ";

curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_REFERER, false);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 300);
ob_start();
return curl_exec ($curl);
ob_end_clean();
curl_close ($curl);
unset($curl);
}

kapec curl neatbrivo atminu? stav memory_limit -1 un izmanto 2GB

Edited by kapec gan ne
Link to comment
Share on other sites

Te varētu būt 2 iemesli:

1) Tu ciklā veido entās cURL sesijas. Tā vietā var izmantot vienu,pirms cikla sadefinējot headerus + opcijas,un tālāk mainot tikai url:

function move($url)
{
global $ch;

curl_setopt($ch, CURLOPT_URL, $url);
return curl_exec ($ch);
}
foreach($urls as $url)
{
 $content = move($url);
}

 

2) Return atrodas pirms

ob_end_clean();
curl_close ($curl);
unset($curl);

Līdz ar to beigas neizpildās,un konekcijas netiek slēgtas.

Edited by 404
Link to comment
Share on other sites

Te varētu būt 2 iemesli:

1) Tu ciklā veido entās cURL sesijas. Tā vietā var izmantot vienu,pirms cikla sadefinējot headerus + opcijas,un tālāk mainot tikai url:

function move($url)
{
global $ch;

curl_setopt($ch, CURLOPT_URL, $url);
return curl_exec ($ch);
}
foreach($urls as $url)
{
 $content = move($url);
}

 

2) Return atrodas pirms

ob_end_clean();
curl_close ($curl);
unset($curl);

Līdz ar to beigas neizpildās,un konekcijas netiek slēgtas.

paldies! primais variants izskatās ka būs īstais :)

curl_close pirms return neko nemainija...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...