ID: 42300 User updated by: foxgoblin at gmail dot com Reported By: foxgoblin at gmail dot com -Status: Feedback +Status: Open Bug Type: cURL related Operating System: windows xp PHP Version: 5CVS-2007-08-14 (snap) New Comment:
cURL Information => libcurl/7.16.0 OpenSSL/0.9.8e zlib/1.2.3 I use php.net distribute Windows Binaries php-5.2.4, it build php_curl extension with libcurl/7.16.0 . Previous Comments: ------------------------------------------------------------------------ [2007-10-13 13:19:07] [EMAIL PROTECTED] Your code works just fine for me with PHP 5.3-dev and libcurl 7.17.0. Which version of libcurl are you using? Does upgrading the a more recent version help? ------------------------------------------------------------------------ [2007-08-14 18:57:22] foxgoblin at gmail dot com Description: ------------ use curl_copy_handle copy the curl handle, add in curl multi handle, curl_multi_exec return nothing. Reproduce code: --------------- <? function getMultiCUrlContent($chs){ $contents = array(); $mh = curl_multi_init(); foreach($chs as $key => $ch){ curl_multi_add_handle($mh,$ch); } 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) { echo "[".date("Y-m-d H:i:s")."]\t[getMultiCUrlContent error]\t".$mrc."\n"; } foreach($chs as $key => $ch){ if(curl_errno($ch) == CURLE_OK){ $contents[$key]= curl_multi_getcontent($ch); } else{ echo "[".date("Y-m-d H:i:s")."]\t[get content error]\t".curl_error($ch)."\n"; } } curl_multi_close($mh); return $contents; } $chs = array(); $ch = curl_init("http://www.google.com/"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); $chs[] = $ch; $ch = curl_copy_handle($ch); $chs[] = $ch; $contents = getMultiCUrlContent($chs); print_r($contents); ?> Expected result: ---------------- Array ( [0] => <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>Google</title>... [1] => <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>Google</title>... ) Actual result: -------------- Array ( [0] => <html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>Google</title>... [1] => ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=42300&edit=1