3v4l.org

run code in 300+ PHP versions simultaneously
<?php function error_handler($errno, $errstr, $errfile, $errline) { throw new ErrorException($errstr, $errno, $errno, $errfile, $errline); } set_error_handler('error_handler'); try { echo 5 / 0; } catch(ErrorException $error) { echo new ErrorExceptionHTMLDecorator($error); } /* WARNING Message: Division by zero Code: 2 Line: 71 File: C:\webroot\www\error.php */ class ErrorExceptionHTMLDecorator { protected $error; protected static $levels = array( E_ERROR => 'ERROR', E_WARNING => 'WARNING', E_PARSE => 'PARSING ERROR', E_NOTICE => 'NOTICE', E_CORE_ERROR => 'CORE ERROR', E_CORE_WARNING => 'CORE WARNING', E_COMPILE_ERROR => 'COMPILE ERROR', E_COMPILE_WARNING => 'COMPILE WARNING', E_USER_ERROR => 'USER ERROR', E_USER_WARNING => 'USER WARNING', E_USER_NOTICE => 'USER NOTICE', E_STRICT => 'STRICT NOTICE', E_RECOVERABLE_ERROR => 'RECOVERABLE ERROR' ); public function __construct(ErrorException $error) { $this->error = $error; } public function render() { $level = isset(self::$levels[$this->error->getSeverity()]) ? self::$levels[$this->error->getSeverity()] : 'Unknown Error'; return sprintf( ' <h4>%s</h4> <strong>Message:</strong>%s<br /> <strong>Code:</strong>%d<br /> <strong>Line:</strong>%s<br /> <strong>File:</strong>%s ', $level, $this->error->getMessage(), $this->error->getCode(), $this->error->getLine(), $this->error->getFile() ); } public function __toString() { return strip_tags($this->render()); } }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Fatal error: Uncaught DivisionByZeroError: Division by zero in /in/ieHhO:14 Stack trace: #0 {main} thrown in /in/ieHhO on line 14
Process exited with code 255.
Output for 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.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
WARNING Message:Division by zero Code:2 Line:14 File:/in/ieHhO
Output for 5.1.0 - 5.1.6
Fatal error: Uncaught exception 'ErrorException' with message 'Use of undefined constant E_RECOVERABLE_ERROR - assumed 'E_RECOVERABLE_ERROR'' in /in/ieHhO:18 Stack trace: #0 /in/ieHhO(18): error_handler() #1 {main} thrown in /in/ieHhO on line 18
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Fatal error: Class 'ErrorException' not found in /in/ieHhO on line 5
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_NEW in /in/ieHhO on line 5
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_NEW in /in/ieHhO on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/ieHhO on line 5
Process exited with code 255.

preferences:
243.9 ms | 401 KiB | 399 Q