3v4l.org

run code in 300+ PHP versions simultaneously
<?php // create both cURL resources $ch1 = curl_init(); $ch2 = curl_init(); // set URL and other appropriate options curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/"); curl_setopt($ch1, CURLOPT_HEADER, 0); curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/"); curl_setopt($ch2, CURLOPT_HEADER, 0); //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); $active = null; //execute the handles do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } //close the handles curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 44) Position 1 = 50, Position 2 = 42
Branch analysis from position: 50
1 jumps found. (Code = 42) Position 1 = 64
Branch analysis from position: 64
2 jumps found. (Code = 46) Position 1 = 65, Position 2 = 68
Branch analysis from position: 65
2 jumps found. (Code = 44) Position 1 = 69, Position 2 = 51
Branch analysis from position: 69
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 51
2 jumps found. (Code = 43) Position 1 = 56, Position 2 = 64
Branch analysis from position: 56
2 jumps found. (Code = 44) Position 1 = 64, Position 2 = 56
Branch analysis from position: 64
Branch analysis from position: 56
Branch analysis from position: 64
Branch analysis from position: 68
Branch analysis from position: 42
filename:       /in/huhRL
function name:  (null)
number of ops:  81
compiled vars:  !0 = $ch1, !1 = $ch2, !2 = $mh, !3 = $active, !4 = $mrc
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL_BY_NAME                                       'curl_init'
          1        DO_FCALL                                      0  $5      
          2        ASSIGN                                                   !0, $5
    4     3        INIT_FCALL_BY_NAME                                       'curl_init'
          4        DO_FCALL                                      0  $7      
          5        ASSIGN                                                   !1, $7
    7     6        INIT_FCALL_BY_NAME                                       'curl_setopt'
          7        SEND_VAR_EX                                              !0
          8        FETCH_CONSTANT                                   ~9      'CURLOPT_URL'
          9        SEND_VAL_EX                                              ~9
         10        SEND_VAL_EX                                              'http%3A%2F%2Flxr.php.net%2F'
         11        DO_FCALL                                      0          
    8    12        INIT_FCALL_BY_NAME                                       'curl_setopt'
         13        SEND_VAR_EX                                              !0
         14        FETCH_CONSTANT                                   ~11     'CURLOPT_HEADER'
         15        SEND_VAL_EX                                              ~11
         16        SEND_VAL_EX                                              0
         17        DO_FCALL                                      0          
    9    18        INIT_FCALL_BY_NAME                                       'curl_setopt'
         19        SEND_VAR_EX                                              !1
         20        FETCH_CONSTANT                                   ~13     'CURLOPT_URL'
         21        SEND_VAL_EX                                              ~13
         22        SEND_VAL_EX                                              'http%3A%2F%2Fwww.php.net%2F'
         23        DO_FCALL                                      0          
   10    24        INIT_FCALL_BY_NAME                                       'curl_setopt'
         25        SEND_VAR_EX                                              !1
         26        FETCH_CONSTANT                                   ~15     'CURLOPT_HEADER'
         27        SEND_VAL_EX                                              ~15
         28        SEND_VAL_EX                                              0
         29        DO_FCALL                                      0          
   13    30        INIT_FCALL_BY_NAME                                       'curl_multi_init'
         31        DO_FCALL                                      0  $17     
         32        ASSIGN                                                   !2, $17
   16    33        INIT_FCALL_BY_NAME                                       'curl_multi_add_handle'
         34        SEND_VAR_EX                                              !2
         35        SEND_VAR_EX                                              !0
         36        DO_FCALL                                      0          
   17    37        INIT_FCALL_BY_NAME                                       'curl_multi_add_handle'
         38        SEND_VAR_EX                                              !2
         39        SEND_VAR_EX                                              !1
         40        DO_FCALL                                      0          
   19    41        ASSIGN                                                   !3, null
   22    42    >   INIT_FCALL_BY_NAME                                       'curl_multi_exec'
         43        SEND_VAR_EX                                              !2
         44        SEND_VAR_EX                                              !3
         45        DO_FCALL                                      0  $22     
         46        ASSIGN                                                   !4, $22
   23    47        FETCH_CONSTANT                                   ~24     'CURLM_CALL_MULTI_PERFORM'
         48        IS_EQUAL                                                 !4, ~24
         49      > JMPNZ                                                    ~25, ->42
   25    50    > > JMP                                                      ->64
   26    51    >   INIT_FCALL_BY_NAME                                       'curl_multi_select'
         52        SEND_VAR_EX                                              !2
         53        DO_FCALL                                      0  $26     
         54        IS_NOT_EQUAL                                             $26, -1
         55      > JMPZ                                                     ~27, ->64
   28    56    >   INIT_FCALL_BY_NAME                                       'curl_multi_exec'
         57        SEND_VAR_EX                                              !2
         58        SEND_VAR_EX                                              !3
         59        DO_FCALL                                      0  $28     
         60        ASSIGN                                                   !4, $28
   29    61        FETCH_CONSTANT                                   ~30     'CURLM_CALL_MULTI_PERFORM'
         62        IS_EQUAL                                                 !4, ~30
         63      > JMPNZ                                                    ~31, ->56
   25    64    > > JMPZ_EX                                          ~32     !3, ->68
         65    >   FETCH_CONSTANT                                   ~33     'CURLM_OK'
         66        IS_EQUAL                                         ~34     !4, ~33
         67        BOOL                                             ~32     ~34
         68    > > JMPNZ                                                    ~32, ->51
   34    69    >   INIT_FCALL_BY_NAME                                       'curl_multi_remove_handle'
         70        SEND_VAR_EX                                              !2
         71        SEND_VAR_EX                                              !0
         72        DO_FCALL                                      0          
   35    73        INIT_FCALL_BY_NAME                                       'curl_multi_remove_handle'
         74        SEND_VAR_EX                                              !2
         75        SEND_VAR_EX                                              !1
         76        DO_FCALL                                      0          
   36    77        INIT_FCALL_BY_NAME                                       'curl_multi_close'
         78        SEND_VAR_EX                                              !2
         79        DO_FCALL                                      0          
         80      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
146 ms | 1399 KiB | 13 Q