Annotation of embedaddon/php/ext/curl/tests/curl_basic_017.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test curl_multi_exec() function with basic functionality 
        !             3: --CREDITS--
        !             4: TestFest 2009 - AFUP - Thomas Rabaix <thomas.rabaix@gmail.com>
        !             5: --SKIPIF--
        !             6: <?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip"; ?>
        !             7: --FILE--
        !             8: <?php
        !             9: /* Prototype  : bool curl_multi_exec(resource ch)
        !            10:  * Description: Perform a cURL session 
        !            11:  * Source code: ext/curl/multi.c
        !            12:  * Alias to functions: 
        !            13:  */
        !            14:        
        !            15:   $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
        !            16: 
        !            17:   // start testing
        !            18:   echo "*** Testing curl_exec() : basic functionality ***\n";
        !            19: 
        !            20:   $url = "{$host}/get.php?test=get";
        !            21:   $chs = array(
        !            22:     0 => curl_init(),
        !            23:     1 => curl_init(),
        !            24:     2 => curl_init(),
        !            25:   );
        !            26:   
        !            27:   ob_start(); // start output buffering
        !            28:   
        !            29:   curl_setopt($chs[0], CURLOPT_URL, $url); //set the url we want to use
        !            30:   curl_setopt($chs[1], CURLOPT_URL, $url); //set the url we want to use
        !            31:   curl_setopt($chs[2], CURLOPT_URL, $url); //set the url we want to use
        !            32:   
        !            33:   $mh = curl_multi_init();
        !            34:   
        !            35:   // add handlers
        !            36:   curl_multi_add_handle($mh, $chs[0]);
        !            37:   curl_multi_add_handle($mh, $chs[1]);
        !            38:   curl_multi_add_handle($mh, $chs[2]);
        !            39:   
        !            40:   $running=null;
        !            41:   //execute the handles
        !            42:   $state = null;
        !            43:   do {
        !            44:     $state = curl_multi_exec($mh, $running);
        !            45:   } while ($running > 0);
        !            46:   
        !            47:   //close the handles
        !            48:   curl_multi_remove_handle($mh, $chs[0]);
        !            49:   curl_multi_remove_handle($mh, $chs[1]);
        !            50:   curl_multi_remove_handle($mh, $chs[2]);
        !            51:   curl_multi_close($mh);
        !            52:   
        !            53:   $curl_content = ob_get_contents();
        !            54:   ob_end_clean();
        !            55: 
        !            56:   if($state === CURLM_OK) {
        !            57:     var_dump( $curl_content );
        !            58:   } else {
        !            59:     echo "curl_exec returned false";
        !            60:   }
        !            61: ?>
        !            62: ===DONE===
        !            63: --EXPECTF--
        !            64: *** Testing curl_exec() : basic functionality ***
        !            65: string(75) "Hello World!
        !            66: Hello World!Hello World!
        !            67: Hello World!Hello World!
        !            68: Hello World!"
        !            69: ===DONE===

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>