3v4l.org

run code in 300+ PHP versions simultaneously
<?php $cm = curl_multi_init(); $stuffs = curl_init(); $curl_options = array( CURLOPT_URL => 'http://www.google.ca', CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYHOST => 0, // these are the problem CURLOPT_SSL_VERIFYPEER => 0, // toggle 0/1 to test CURLOPT_HEADER => 1 ); curl_setopt_array($stuffs, $curl_options); curl_multi_add_handle($cm, $stuffs); do { curl_multi_exec($cm, $running); } while($running > 0); $content = curl_multi_getcontent($stuffs); $info = curl_getinfo($stuffs); curl_multi_remove_handle($cm, $stuffs); curl_multi_close($cm); print_r($info); // cuts off too much, the header size is incorrect echo mb_substr($content, $info['header_size']); ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 44) Position 1 = 31, Position 2 = 25
Branch analysis from position: 31
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 25
filename:       /in/eLNs2
function name:  (null)
number of ops:  56
compiled vars:  !0 = $cm, !1 = $stuffs, !2 = $curl_options, !3 = $running, !4 = $content, !5 = $info
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL_BY_NAME                                       'curl_multi_init'
          1        DO_FCALL                                      0  $6      
          2        ASSIGN                                                   !0, $6
    4     3        INIT_FCALL_BY_NAME                                       'curl_init'
          4        DO_FCALL                                      0  $8      
          5        ASSIGN                                                   !1, $8
    6     6        FETCH_CONSTANT                                   ~10     'CURLOPT_URL'
          7        INIT_ARRAY                                       ~11     'http%3A%2F%2Fwww.google.ca', ~10
    7     8        FETCH_CONSTANT                                   ~12     'CURLOPT_RETURNTRANSFER'
          9        ADD_ARRAY_ELEMENT                                ~11     1, ~12
    8    10        FETCH_CONSTANT                                   ~13     'CURLOPT_SSL_VERIFYHOST'
         11        ADD_ARRAY_ELEMENT                                ~11     0, ~13
    9    12        FETCH_CONSTANT                                   ~14     'CURLOPT_SSL_VERIFYPEER'
         13        ADD_ARRAY_ELEMENT                                ~11     0, ~14
   10    14        FETCH_CONSTANT                                   ~15     'CURLOPT_HEADER'
         15        ADD_ARRAY_ELEMENT                                ~11     1, ~15
    5    16        ASSIGN                                                   !2, ~11
   12    17        INIT_FCALL_BY_NAME                                       'curl_setopt_array'
         18        SEND_VAR_EX                                              !1
         19        SEND_VAR_EX                                              !2
         20        DO_FCALL                                      0          
   13    21        INIT_FCALL_BY_NAME                                       'curl_multi_add_handle'
         22        SEND_VAR_EX                                              !0
         23        SEND_VAR_EX                                              !1
         24        DO_FCALL                                      0          
   14    25    >   INIT_FCALL_BY_NAME                                       'curl_multi_exec'
         26        SEND_VAR_EX                                              !0
         27        SEND_VAR_EX                                              !3
         28        DO_FCALL                                      0          
         29        IS_SMALLER                                               0, !3
         30      > JMPNZ                                                    ~20, ->25
   15    31    >   INIT_FCALL_BY_NAME                                       'curl_multi_getcontent'
         32        SEND_VAR_EX                                              !1
         33        DO_FCALL                                      0  $21     
         34        ASSIGN                                                   !4, $21
   16    35        INIT_FCALL_BY_NAME                                       'curl_getinfo'
         36        SEND_VAR_EX                                              !1
         37        DO_FCALL                                      0  $23     
         38        ASSIGN                                                   !5, $23
   17    39        INIT_FCALL_BY_NAME                                       'curl_multi_remove_handle'
         40        SEND_VAR_EX                                              !0
         41        SEND_VAR_EX                                              !1
         42        DO_FCALL                                      0          
   18    43        INIT_FCALL_BY_NAME                                       'curl_multi_close'
         44        SEND_VAR_EX                                              !0
         45        DO_FCALL                                      0          
   19    46        INIT_FCALL                                               'print_r'
         47        SEND_VAR                                                 !5
         48        DO_ICALL                                                 
   21    49        INIT_FCALL                                               'mb_substr'
         50        SEND_VAR                                                 !4
         51        FETCH_DIM_R                                      ~28     !5, 'header_size'
         52        SEND_VAL                                                 ~28
         53        DO_ICALL                                         $29     
         54        ECHO                                                     $29
   23    55      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.18 ms | 1400 KiB | 17 Q