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) { //No check for error_reporting 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 8.0.0 - 8.0.12, 8.0.14 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Unknown error type: [2] include(): open_basedir restriction in effect. File(foo) is not within the allowed path(s): (/tmp:/in:/etc)<br /> Unknown error type: [2] include(foo): Failed to open stream: Operation not permitted<br /> Unknown error type: [2] include(): Failed opening 'foo' for inclusion (include_path='.:')<br />
Output for 8.0.13
Unknown error type: [2] include(foo): Failed to open stream: No such file or directory<br /> Unknown error type: [2] include(): Failed opening 'foo' for inclusion (include_path='.:')<br />
Output for 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.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.10, 7.3.32 - 7.3.33, 7.4.26, 7.4.33
Unknown error type: [2] include(foo): failed to open stream: No such file or directory<br /> Unknown error type: [2] include(): Failed opening 'foo' for inclusion (include_path='.:')<br />
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.25, 7.4.27 - 7.4.32
Unknown error type: [2] include(): open_basedir restriction in effect. File(foo) is not within the allowed path(s): (/tmp:/in:/etc)<br /> Unknown error type: [2] include(foo): failed to open stream: Operation not permitted<br /> Unknown error type: [2] include(): Failed opening 'foo' for inclusion (include_path='.:')<br />
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5
Unknown error type: [2] main(foo): failed to open stream: No such file or directory<br /> Unknown error type: [2] main(): Failed opening 'foo' for inclusion (include_path='.:')<br />
Output for 4.3.0 - 4.3.1
Unknown error type: [2] main(foo) [http://www.php.net/function.main]: failed to create stream: No such file or directory<br /> Unknown error type: [2] main() [http://www.php.net/function.main]: Failed opening 'foo' for inclusion (include_path='.:')<br />

preferences:
268.03 ms | 401 KiB | 399 Q