3v4l.org

run code in 500+ PHP versions simultaneously
<?php $options = [ CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_RETURNTRANSFER => false, CURLOPT_HEADER => false, CURLOPT_CUSTOMREQUEST => 'PUT', CURLOPT_UPLOAD => true, CURLOPT_URL => 'http://httpbin.org/put', CURLOPT_CONNECTTIMEOUT => 1, CURLOPT_HTTPHEADER => [ 'Content-Type: text/plain; charset=UTF-8', ], CURLOPT_READFUNCTION => function($handle, $fp, $length) { static $data = 'HelloWorld'; $readed = $data; $data = ''; echo "Length asked: '{$length}'\n"; echo "Readed: '{$readed}'\n"; return $readed; }, CURLOPT_INFILESIZE => strlen('HelloWorld') // The extra byte ]; $handle = curl_init(); curl_setopt_array($handle, $options); curl_exec($handle);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uAYEf
function name:  (null)
number of ops:  34
compiled vars:  !0 = $options, !1 = $handle
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    4     0  E >   FETCH_CONSTANT                                       ~2      'CURLOPT_HTTP_VERSION'
          1        FETCH_CONSTANT                                       ~3      'CURL_HTTP_VERSION_1_1'
          2        INIT_ARRAY                                           ~4      ~3, ~2
    5     3        FETCH_CONSTANT                                       ~5      'CURLOPT_RETURNTRANSFER'
    4     4        ADD_ARRAY_ELEMENT                                    ~4      <false>, ~5
    6     5        FETCH_CONSTANT                                       ~6      'CURLOPT_HEADER'
    4     6        ADD_ARRAY_ELEMENT                                    ~4      <false>, ~6
    7     7        FETCH_CONSTANT                                       ~7      'CURLOPT_CUSTOMREQUEST'
          8        ADD_ARRAY_ELEMENT                                    ~4      'PUT', ~7
    8     9        FETCH_CONSTANT                                       ~8      'CURLOPT_UPLOAD'
    4    10        ADD_ARRAY_ELEMENT                                    ~4      <true>, ~8
    9    11        FETCH_CONSTANT                                       ~9      'CURLOPT_URL'
         12        ADD_ARRAY_ELEMENT                                    ~4      'http%3A%2F%2Fhttpbin.org%2Fput', ~9
   10    13        FETCH_CONSTANT                                       ~10     'CURLOPT_CONNECTTIMEOUT'
         14        ADD_ARRAY_ELEMENT                                    ~4      1, ~10
   11    15        FETCH_CONSTANT                                       ~11     'CURLOPT_HTTPHEADER'
    4    16        ADD_ARRAY_ELEMENT                                    ~4      <array>, ~11
   14    17        FETCH_CONSTANT                                       ~12     'CURLOPT_READFUNCTION'
         18        DECLARE_LAMBDA_FUNCTION                              ~13     [0]
   21    19        ADD_ARRAY_ELEMENT                                    ~4      ~13, ~12
   22    20        FETCH_CONSTANT                                       ~14     'CURLOPT_INFILESIZE'
         21        ADD_ARRAY_ELEMENT                                    ~4      10, ~14
    3    22        ASSIGN                                                       !0, ~4
   25    23        INIT_FCALL_BY_NAME                                           'curl_init'
         24        DO_FCALL                                          0  $16     
         25        ASSIGN                                                       !1, $16
   26    26        INIT_FCALL_BY_NAME                                           'curl_setopt_array'
         27        SEND_VAR_EX                                                  !1
         28        SEND_VAR_EX                                                  !0
         29        DO_FCALL                                          0          
   28    30        INIT_FCALL_BY_NAME                                           'curl_exec'
         31        SEND_VAR_EX                                                  !1
         32        DO_FCALL                                          0          
         33      > RETURN                                                       1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/uAYEf
function name:  {closure:/in/uAYEf:14}
number of ops:  16
compiled vars:  !0 = $handle, !1 = $fp, !2 = $length, !3 = $data, !4 = $readed
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
   14     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
          2        RECV                                                 !2      
   15     3        BIND_STATIC                                                  !3
   16     4        ASSIGN                                                       !4, !3
   17     5        ASSIGN                                                       !3, ''
   18     6        ROPE_INIT                                         3  ~8      'Length+asked%3A+%27'
          7        ROPE_ADD                                          1  ~8      ~8, !2
          8        ROPE_END                                          2  ~7      ~8, '%27%0A'
          9        ECHO                                                         ~7
   19    10        ROPE_INIT                                         3  ~11     'Readed%3A+%27'
         11        ROPE_ADD                                          1  ~11     ~11, !4
         12        ROPE_END                                          2  ~10     ~11, '%27%0A'
         13        ECHO                                                         ~10
   20    14      > RETURN                                                       !4
   21    15*     > RETURN                                                       null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
167.87 ms | 3450 KiB | 13 Q