3v4l.org

run code in 300+ PHP versions simultaneously
<?php function set_trace(\Throwable $e) { $reflection = new \ReflectionProperty( $e instanceof \Error ? \Error::class : \Exception::class, 'trace' ); $reflection->setAccessible(true); $reflection->setValue($e, \debug_backtrace()); return $e; } function deeper_stack(int $depth, callable $callback, ...$args) { return $depth > 1 ? deeper_stack($depth - 1, $callback, ...$args) : $callback(...$args); } echo deeper_stack(5, 'set_trace', new Error);
Output for 8.5.1 - 8.5.3
Deprecated: Method ReflectionProperty::setAccessible() is deprecated since 8.5, as it has no effect since PHP 8.1 in /in/nCi9N on line 9 Error in /in/nCi9N:22 Stack trace: #0 /in/nCi9N(19): set_trace(Object(Error)) #1 /in/nCi9N(18): deeper_stack(1, 'set_trace', Object(Error)) #2 /in/nCi9N(18): deeper_stack(2, 'set_trace', Object(Error)) #3 /in/nCi9N(18): deeper_stack(3, 'set_trace', Object(Error)) #4 /in/nCi9N(18): deeper_stack(4, 'set_trace', Object(Error)) #5 /in/nCi9N(22): deeper_stack(5, 'set_trace', Object(Error)) #6 {main}
Output for 8.5.0
Deprecated: Method ReflectionProperty::setAccessible() is deprecated since 8.5, as it has no effect in /in/nCi9N on line 9 Error in /in/nCi9N:22 Stack trace: #0 /in/nCi9N(19): set_trace(Object(Error)) #1 /in/nCi9N(18): deeper_stack(1, 'set_trace', Object(Error)) #2 /in/nCi9N(18): deeper_stack(2, 'set_trace', Object(Error)) #3 /in/nCi9N(18): deeper_stack(3, 'set_trace', Object(Error)) #4 /in/nCi9N(18): deeper_stack(4, 'set_trace', Object(Error)) #5 /in/nCi9N(22): deeper_stack(5, 'set_trace', Object(Error)) #6 {main}
Output for 7.1.0 - 7.1.23, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18
Error in /in/nCi9N:22 Stack trace: #0 /in/nCi9N(19): set_trace(Object(Error)) #1 /in/nCi9N(18): deeper_stack(1, 'set_trace', Object(Error)) #2 /in/nCi9N(18): deeper_stack(2, 'set_trace', Object(Error)) #3 /in/nCi9N(18): deeper_stack(3, 'set_trace', Object(Error)) #4 /in/nCi9N(18): deeper_stack(4, 'set_trace', Object(Error)) #5 /in/nCi9N(22): deeper_stack(5, 'set_trace', Object(Error)) #6 {main}
Output for 5.6.38
Fatal error: Class 'Error' not found in /in/nCi9N on line 22
Process exited with code 255.

preferences:
70.33 ms | 1533 KiB | 4 Q