3v4l.org

run code in 300+ PHP versions simultaneously
<?php class AttackStream { function stream_open($path, $mode, $options, &$opened_path) { return true; } function stream_read($count) { echo $count,"\n"; return "AA"; } function stream_eof() { return true; } function stream_set_option() { return true; } function stream_seek($offset, $whence) { return false; } } stream_wrapper_register("attack", "AttackStream") or die("Failed to register protocol"); $f = fopen("attack://nothing", "r"); fread($f, 1); ?>
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Deprecated: Creation of dynamic property AttackStream::$context is deprecated in /in/R1CoA on line 34 8192
Output for 4.3.2 - 4.3.8, 4.4.0 - 4.4.9, 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28
8192
Output for 4.3.9 - 4.3.11, 5.0.0 - 5.0.4
8192
Process exited with code 139.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: stream_wrapper_register() in /in/R1CoA on line 32

preferences:
311.61 ms | 401 KiB | 457 Q