3v4l.org

run code in 300+ PHP versions simultaneously
<?php set_time_limit(0); ini_set('memory_limit', '2256M'); define('CHAT_KEY', 'key'); try { $payload = "GET ALL DATA"; $ch = curl_init("https://url"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ "Content-Type: application/json", "Authorization: Bearer " . CHAT_KEY ], CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE), CURLOPT_TIMEOUT => 1000, CURLOPT_FAILONERROR => true ]); $response = curl_exec($ch); curl_close($ch); $decoded = json_decode($response, true); $content = $decoded['choices'][0]['message']['content']; echo $content; } catch (Throwable $e) { // This guarantees something shows up instead of silent 500 error_log($e->getMessage()); echo $e->getMessage(); }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 68
Branch analysis from position: 68
1 jumps found. (Code = 62) Position 1 = -2
Found catch point at position: 59
Branch analysis from position: 59
2 jumps found. (Code = 107) Position 1 = 60, Position 2 = -2
Branch analysis from position: 60
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/dQ46X
function name:  (null)
number of ops:  69
compiled vars:  !0 = $payload, !1 = $ch, !2 = $response, !3 = $decoded, !4 = $content, !5 = $e
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   INIT_FCALL                                               'set_time_limit'
          1        SEND_VAL                                                 0
          2        DO_ICALL                                                 
    3     3        INIT_FCALL                                               'ini_set'
          4        SEND_VAL                                                 'memory_limit'
          5        SEND_VAL                                                 '2256M'
          6        DO_ICALL                                                 
    4     7        INIT_FCALL                                               'define'
          8        SEND_VAL                                                 'CHAT_KEY'
          9        SEND_VAL                                                 'key'
         10        DO_ICALL                                                 
    6    11        ASSIGN                                                   !0, 'GET+ALL+DATA'
    8    12        INIT_FCALL_BY_NAME                                       'curl_init'
         13        SEND_VAL_EX                                              'https%3A%2F%2Furl'
         14        DO_FCALL                                      0  $10     
         15        ASSIGN                                                   !1, $10
    9    16        INIT_FCALL_BY_NAME                                       'curl_setopt_array'
         17        SEND_VAR_EX                                              !1
   10    18        FETCH_CONSTANT                                   ~12     'CURLOPT_RETURNTRANSFER'
         19        INIT_ARRAY                                       ~13     <true>, ~12
   11    20        FETCH_CONSTANT                                   ~14     'CURLOPT_POST'
   10    21        ADD_ARRAY_ELEMENT                                ~13     <true>, ~14
   12    22        FETCH_CONSTANT                                   ~15     'CURLOPT_HTTPHEADER'
   13    23        INIT_ARRAY                                       ~16     'Content-Type%3A+application%2Fjson'
         24        FETCH_CONSTANT                                   ~17     'CHAT_KEY'
         25        CONCAT                                           ~18     'Authorization%3A+Bearer+', ~17
         26        ADD_ARRAY_ELEMENT                                ~16     ~18
         27        ADD_ARRAY_ELEMENT                                ~13     ~16, ~15
   15    28        FETCH_CONSTANT                                   ~19     'CURLOPT_POSTFIELDS'
         29        INIT_FCALL                                               'json_encode'
         30        SEND_VAR                                                 !0
         31        SEND_VAL                                                 256
         32        DO_ICALL                                         $20     
         33        ADD_ARRAY_ELEMENT                                ~13     $20, ~19
   16    34        FETCH_CONSTANT                                   ~21     'CURLOPT_TIMEOUT'
         35        ADD_ARRAY_ELEMENT                                ~13     1000, ~21
   17    36        FETCH_CONSTANT                                   ~22     'CURLOPT_FAILONERROR'
   10    37        ADD_ARRAY_ELEMENT                                ~13     <true>, ~22
         38        SEND_VAL_EX                                              ~13
    9    39        DO_FCALL                                      0          
   20    40        INIT_FCALL_BY_NAME                                       'curl_exec'
         41        SEND_VAR_EX                                              !1
         42        DO_FCALL                                      0  $24     
         43        ASSIGN                                                   !2, $24
   21    44        INIT_FCALL_BY_NAME                                       'curl_close'
         45        SEND_VAR_EX                                              !1
         46        DO_FCALL                                      0          
   23    47        INIT_FCALL                                               'json_decode'
         48        SEND_VAR                                                 !2
         49        SEND_VAL                                                 <true>
         50        DO_ICALL                                         $27     
         51        ASSIGN                                                   !3, $27
   25    52        FETCH_DIM_R                                      ~29     !3, 'choices'
         53        FETCH_DIM_R                                      ~30     ~29, 0
         54        FETCH_DIM_R                                      ~31     ~30, 'message'
         55        FETCH_DIM_R                                      ~32     ~31, 'content'
         56        ASSIGN                                                   !4, ~32
   26    57        ECHO                                                     !4
         58      > JMP                                                      ->68
   29    59  E > > CATCH                                       last         'Throwable'
   31    60    >   INIT_FCALL                                               'error_log'
         61        INIT_METHOD_CALL                                         !5, 'getMessage'
         62        DO_FCALL                                      0  $34     
         63        SEND_VAR                                                 $34
         64        DO_ICALL                                                 
   33    65        INIT_METHOD_CALL                                         !5, 'getMessage'
         66        DO_FCALL                                      0  $36     
         67        ECHO                                                     $36
   34    68    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
142.06 ms | 1021 KiB | 19 Q