downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

curl_multi_remove_handle> <curl_multi_info_read
Last updated: Fri, 20 Nov 2009

view this page in

curl_multi_init

(PHP 5)

curl_multi_initReturns a new cURL multi handle

Description

resource curl_multi_init ( void )

Allows the processing of multiple cURL handles in parallel.

Parameters

mh

A cURL multi handle returned by curl_multi_init().

Return Values

Returns a cURL multi handle resource on success, FALSE on failure.

Examples

Example #1 curl_multi_init() example

This example will create two cURL handles, add them to a multi handle, and then run them in parallel.

<?php
// create both cURL resources
$ch1 curl_init();
$ch2 curl_init();

// set URL and other appropriate options
curl_setopt($ch1CURLOPT_URL"http://www.example.com/");
curl_setopt($ch1CURLOPT_HEADER0);
curl_setopt($ch2CURLOPT_URL"http://www.php.net/");
curl_setopt($ch2CURLOPT_HEADER0);

//create the multiple cURL handle
$mh curl_multi_init();

//add the two handles
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
//execute the handles
do {
    
curl_multi_exec($mh,$running);
} while (
$running 0);

//close the handles
curl_multi_remove_handle($mh$ch1);
curl_multi_remove_handle($mh$ch2);
curl_multi_close($mh);

?>

See Also



curl_multi_remove_handle> <curl_multi_info_read
Last updated: Fri, 20 Nov 2009
 
add a note add a note User Contributed Notes
curl_multi_init
jaisen at jmathai dot com
30-May-2008 07:09
http://github.com/jmathai/epicode/tree/master/php/EpiCurl.php

If you fire off 10 curl requests in parallel you don't have to wait for all of them to be finished before accessing one which is already finished.
ssttoo at gmail dot com
26-Feb-2008 01:57
An example of how to make parallel POST/GET requests through a reusable function:
http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/
Anonymous
25-Jan-2008 06:09
In the example above, rather than busy looping, curl_multi_select() should be used.  The call isn't adequately described in the php documentation, so you need to look at the libcurl-multi man page.  curl_multi_fdset() on this page is  curl_multi_select() here, and curl_multi_perform() is curl_multi_exec() here.  Read on and write better code.
php at twobears dot cz
17-Dec-2007 06:02
It's not good to use plain while cycle like in the example because you are going to consume all the cpu time just by checking if you are not done. E.g. using usleep(50) in the middle of while could solve that gracefully...
snoyes at gmail dot com
30-Jul-2007 02:39
In the example shown, the calls to curl_multi_remove_handle() should include the resource as the first parameter:

curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);

curl_multi_remove_handle> <curl_multi_info_read
Last updated: Fri, 20 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites