3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { public function __toString() { return $this->s(); } private function s() { throw new \RuntimeException("BOO!"); } } try { (function ($a) { (function ($b) { (function ($c) { echo new A, "\n"; })(30); })(20); })(10); } catch (\Throwable $e) { echo "E! {$e->getMessage()}\n"; throw $e; }
Output for 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
E! BOO! Fatal error: Uncaught RuntimeException: BOO! in /in/48hmS:8 Stack trace: #0 /in/48hmS(4): A->s() #1 /in/48hmS(16): A->__toString() #2 /in/48hmS(17): {closure}(30) #3 /in/48hmS(18): {closure}(20) #4 /in/48hmS(19): {closure}(10) #5 {main} thrown in /in/48hmS on line 8
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 E! BOO! Fatal error: Uncaught RuntimeException: BOO! in /in/48hmS:8 Stack trace: #0 /in/48hmS(4): A->s() #1 /in/48hmS(16): A->__toString() #2 /in/48hmS(17): {closure}(30) #3 /in/48hmS(18): {closure}(20) #4 /in/48hmS(19): {closure}(10) #5 {main} thrown in /in/48hmS on line 8
Process exited with code 255.
Output for 7.0.1 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33
Fatal error: Method A::__toString() must not throw an exception, caught RuntimeException: BOO! in /in/48hmS on line 0
Process exited with code 255.
Output for 7.0.0
Fatal error: Method A::__toString() must not throw an exception in /in/48hmS on line 0
Process exited with code 255.
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Parse error: syntax error, unexpected '(' in /in/48hmS on line 17
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/48hmS on line 8 Parse error: syntax error, unexpected T_FUNCTION in /in/48hmS on line 13
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/48hmS on line 8 Parse error: parse error, unexpected T_FUNCTION in /in/48hmS on line 13
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/48hmS on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/48hmS on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/48hmS on line 3
Process exited with code 255.

preferences:
393.85 ms | 401 KiB | 460 Q