cURL / Mailing Lists / curl-and-php / Single Mail

curl-and-php

PHP Timeout Error in multi_curl

From: Suleman Butt <suleman.butt_at_gmail.com>
Date: Thu, 4 Oct 2007 15:07:33 +0200

I'm executing this code from:
http://de2.php.net/manual/de/function.curl-multi-exec.php

<?php
$connomains = array(
   "http://www.cnn.com/",
   "http://www.canada.com/",
   "http://www.yahoo.com/"
);

$mh = curl_multi_init();

foreach ($connomains as $i => $url) {
  $conn[$i] = curl_init($url);
  curl_setopt($conn[$i], CURLOPT_TIMEOUT, 15); //added myself
  curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, TRUE);
  curl_multi_add_handle ($mh,$conn[$i]);
}

// start performing the request
do {
  $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active and $mrc == CURLM_OK) {
  // wait for network
  if (curl_multi_select($mh) != -1) {
    // pull in any new data, or at least handle timeouts
    do {
      $mrc = curl_multi_exec($mh, $active);
    } while ($mrc == CURLM_CALL_MULTI_PERFORM);
  }
}

if ($mrc != CURLM_OK) {
  print "Curl multi read error $mrc\n";
}

// retrieve data
foreach ($connomains as $i => $url) {
  if (($err = curl_error($conn[$i])) == '') {
    $res[$i]=curl_multi_getcontent($conn[$i]);
  } else {
    print "Curl error on handle $i: $err\n";
  }
  curl_multi_remove_handle($mh,$conn[$i]);
  curl_close($conn[$i]);
}
curl_multi_close($mh);

print_r($res);
?>

but getting this error: Curl error on handle 0: Connection time-out after
15996 ms Curl error on handle 1: Connection time-out after 15996 ms Curl
error on handle 2: Connection time-out after 15996 ms.

my php version: PHP Version 5.2.4
my curl version: curl-7.17.0

Could anybody tell me why is this error coming?

Surprisingly the above code works fine on PHP Version 5.1.4, and curl-7-15-3
[image: Sad]

thanks in advance.

_______________________________________________
http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php
Received on 2007-10-04