3v4l.org

run code in 500+ PHP versions simultaneously
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL & ~E_USER_ERROR); set_error_handler(function (int $level, string $message) { $silenced = 0 === (error_reporting() & $level); echo "!> Error captured: {$message}" . PHP_EOL; echo " > Current error reporting: " . error_reporting() . PHP_EOL; echo " > Current Sentry check if error was silenced reports: " . ($silenced ? 'silenced' : 'NOT silenced') . PHP_EOL; echo PHP_EOL; return true; }); // This once should report as silenced @trigger_error('Silent Hello World', E_USER_ERROR); // This one should not report as silenced trigger_error('Hello World', E_USER_ERROR);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/nct1E
function name:  (null)
number of ops:  26
compiled vars:  none
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                                   'ini_set'
          1        SEND_VAL                                                     'display_errors'
          2        SEND_VAL                                                     1
          3        DO_ICALL                                                     
    4     4        INIT_FCALL                                                   'ini_set'
          5        SEND_VAL                                                     'display_startup_errors'
          6        SEND_VAL                                                     1
          7        DO_ICALL                                                     
    6     8        INIT_FCALL                                                   'error_reporting'
          9        SEND_VAL                                                     30463
         10        DO_ICALL                                                     
    8    11        INIT_FCALL                                                   'set_error_handler'
         12        DECLARE_LAMBDA_FUNCTION                              ~3      [0]
   18    13        SEND_VAL                                                     ~3
    8    14        DO_ICALL                                                     
   21    15        BEGIN_SILENCE                                        ~5      
         16        INIT_FCALL                                                   'trigger_error'
         17        SEND_VAL                                                     'Silent+Hello+World'
         18        SEND_VAL                                                     256
         19        DO_ICALL                                                     
         20        END_SILENCE                                                  ~5
   24    21        INIT_FCALL                                                   'trigger_error'
         22        SEND_VAL                                                     'Hello+World'
         23        SEND_VAL                                                     256
         24        DO_ICALL                                                     
         25      > RETURN                                                       1


Dynamic Functions:
Dynamic Function 0
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 19
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 20
Branch analysis from position: 20
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 19
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/nct1E
function name:  {closure:/in/nct1E:8}
number of ops:  26
compiled vars:  !0 = $level, !1 = $message, !2 = $silenced
line      #* E I O op                               fetch          ext  return  operands
-----------------------------------------------------------------------------------------
    8     0  E >   RECV                                                 !0      
          1        RECV                                                 !1      
    9     2        INIT_FCALL                                                   'error_reporting'
          3        DO_ICALL                                             $3      
          4        BW_AND                                               ~4      !0, $3
          5        IS_IDENTICAL                                         ~5      ~4, 0
          6        ASSIGN                                                       !2, ~5
   11     7        NOP                                                          
          8        FAST_CONCAT                                          ~7      '%21%3E+Error+captured%3A+', !1
          9        CONCAT                                               ~8      ~7, '%0A'
         10        ECHO                                                         ~8
   12    11        INIT_FCALL                                                   'error_reporting'
         12        DO_ICALL                                             $9      
         13        CONCAT                                               ~10     '+%3E+Current+error+reporting%3A+', $9
         14        CONCAT                                               ~11     ~10, '%0A'
         15        ECHO                                                         ~11
   13    16      > JMPZ                                                         !2, ->19
         17    >   QM_ASSIGN                                            ~12     'silenced'
         18      > JMP                                                          ->20
         19    >   QM_ASSIGN                                            ~12     'NOT+silenced'
         20    >   CONCAT                                               ~13     '+%3E+Current+Sentry+check+if+error+was+silenced+reports%3A+', ~12
         21        CONCAT                                               ~14     ~13, '%0A'
         22        ECHO                                                         ~14
   15    23        ECHO                                                         '%0A'
   17    24      > RETURN                                                       <true>
   18    25*     > RETURN                                                       null

End of Dynamic Function 0

Generated using Vulcan Logic Dumper, using php 8.5.0


preferences:
144.95 ms | 486 KiB | 11 Q