3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * POC for issue with @ error suppression in LemonStand * * Error handle code and example taken from php documents on set_error_handler() * * @see http://www.php.net/manual/en/function.set-error-handler.php */ function myErrorHandler($errNo, $errStr, $errFile, $errLine) { if (!(error_reporting() & $errNo)) { // This error code is not included in error_reporting return; } switch ($errNo) { case E_USER_ERROR: echo "<b>My ERROR</b> [$errNo] $errStr<br />\n"; echo " Fatal error on line $errLine in file $errFile"; echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n"; echo "Aborting...<br />\n"; exit(1); break; case E_USER_WARNING: echo "<b>My WARNING</b> [$errNo] $errStr<br />\n"; break; case E_USER_NOTICE: echo "<b>My NOTICE</b> [$errNo] $errStr<br />\n"; break; default: echo "Unknown error type: [$errNo] $errStr<br />\n"; break; } /* Don't execute PHP internal error handler */ return true; } set_error_handler("myErrorHandler"); @include('foo');
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 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, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6

preferences:
226.53 ms | 406 KiB | 460 Q