3v4l.org

run code in 500+ PHP versions simultaneously
<?php $template = 'lalal"alala'; $olderrors = @ini_set('display_errors', true); $oldlevel = error_reporting(E_ERROR | E_PARSE | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR); ob_start(); eval('$devnull = "' . $template . '";'); $errors = ob_get_contents(); ob_end_clean(); error_reporting($oldlevel); if ($olderrors !== false) { @ini_set('display_errors', $olderrors); } if ($errors) echo "\nERRORS: $errors\n"; echo "\nDone";
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 33
Branch analysis from position: 27
2 jumps found. (Code = 43) Position 1 = 34, Position 2 = 38
Branch analysis from position: 34
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 38
Branch analysis from position: 33
filename:       /in/6JMJj
function name:  (null)
number of ops:  40
compiled vars:  !0 = $template, !1 = $olderrors, !2 = $oldlevel, !3 = $errors
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                       !0, 'lalal%22alala'
    5     1        BEGIN_SILENCE                                        ~5      
          2        INIT_FCALL                                                   'ini_set'
          3        SEND_VAL                                                     'display_errors'
          4        SEND_VAL                                                     <true>
          5        DO_ICALL                                             $6      
          6        END_SILENCE                                                  ~5
          7        ASSIGN                                                       !1, $6
    6     8        INIT_FCALL                                                   'error_reporting'
          9        SEND_VAL                                                     341
         10        DO_ICALL                                             $8      
         11        ASSIGN                                                       !2, $8
    8    12        INIT_FCALL                                                   'ob_start'
         13        DO_ICALL                                                     
    9    14        CONCAT                                               ~11     '%24devnull+%3D+%22', !0
         15        CONCAT                                               ~12     ~11, '%22%3B'
         16        INCLUDE_OR_EVAL                                              ~12, EVAL
   10    17        INIT_FCALL                                                   'ob_get_contents'
         18        DO_ICALL                                             $14     
         19        ASSIGN                                                       !3, $14
   11    20        INIT_FCALL                                                   'ob_end_clean'
         21        DO_ICALL                                                     
   13    22        INIT_FCALL                                                   'error_reporting'
         23        SEND_VAR                                                     !2
         24        DO_ICALL                                                     
   14    25        TYPE_CHECK                                      1018          !1
         26      > JMPZ                                                         ~18, ->33
   16    27    >   BEGIN_SILENCE                                        ~19     
         28        INIT_FCALL                                                   'ini_set'
         29        SEND_VAL                                                     'display_errors'
         30        SEND_VAR                                                     !1
         31        DO_ICALL                                                     
         32        END_SILENCE                                                  ~19
   19    33    > > JMPZ                                                         !3, ->38
         34    >   ROPE_INIT                                         3  ~22     '%0AERRORS%3A+'
         35        ROPE_ADD                                          1  ~22     ~22, !3
         36        ROPE_END                                          2  ~21     ~22, '%0A'
         37        ECHO                                                         ~21
   21    38    >   ECHO                                                         '%0ADone'
         39      > RETURN                                                       1

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
165.75 ms | 3392 KiB | 18 Q