3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); set_error_handler( /** * @throws ErrorException */ static function ($errno, $errstr, $errfile, $errline): void { throw new ErrorException($errstr, $errno, $errno, $errfile, $errline); } ); try { @trigger_error('Oh no'); } catch (ErrorException $good) { assert('Oh no' === $good->getMessage(), get_class($good)); } finally { assert(isset($good), 'an expected exception was not thrown'); } unset($good); var_dump(error_get_last()); try { @trigger_error('Oh no'); } catch (ErrorException $good) { assert('Oh no' === $good->getMessage(), get_class($good)); } finally { assert(isset($good), 'an expected exception was not thrown'); } unset($good); assert(NULL === error_get_last()); try { set_error_handler(null); @trigger_error('Oh no'); restore_error_handler(); try { @trigger_error('Oh no'); } catch (ErrorException $good) { assert('Oh no' === $good->getMessage(), get_class($good)); } finally { assert(isset($good), 'an expected exception was not thrown'); } } catch (ErrorException $fail) { assert(false, sprintf('the "%s" exception must not be thrown', get_class($fail))); } finally { assert(!isset($fail), 'there must not have been any exception'); } var_dump(error_get_last());
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.4, 8.3.6 - 8.3.28, 8.4.1 - 8.4.14, 8.5.0
NULL array(4) { ["type"]=> int(1024) ["message"]=> string(5) "Oh no" ["file"]=> string(9) "/in/8fopq" ["line"]=> int(35) }
Output for 8.4.15
/bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libm.so.6: version `GLIBC_2.35' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.34' not found (required by /bin/php-8.4.15) /bin/php-8.4.15: /usr/lib/libc.so.6: version `GLIBC_2.38' not found (required by /bin/php-8.4.15)
Process exited with code 1.
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 NULL array(4) { ["type"]=> int(1024) ["message"]=> string(5) "Oh no" ["file"]=> string(9) "/in/8fopq" ["line"]=> int(35) }

preferences:
175 ms | 409 KiB | 5 Q