Files
yii2/framework/views/error.php
Alexander Makarov 2d5db95149 More on error handling:
- Correct exit code for require errors in CLI mode. It was 0 even in case of error.
- Solved handling fatals and displaying custom error template w/o output buffering.
- If XDEBUG is available, error screen will display trace (implementation inspired by Kohana and Nette).
- Added ErrorException to store/display type of the error and user-friendly messages.
- Fatals are still logged in PHP log.
- Turned off native display_errors since we're now catching all errors.
- Added reserving memory (256kb) . Can be removed safely. In case of removal we're losing only memory exhausted error when allocating last very small chunk of memory.
- Properly handled errors in __toString (exception can't be thrown in this case).
- In the YII_DEBUG===false mode it's bad to display exception name even in page title.
- In the YII_DEBUG===true mode it's still useful to get user-friendly message additionally to exception name.
2013-02-13 03:51:29 +04:00

67 lines
1.2 KiB
PHP

<?php
/**
* @var \Exception $exception
* @var \yii\base\ErrorHandler $owner
*/
$owner = $this->owner;
$title = $owner->htmlEncode($exception instanceof \yii\base\Exception || $exception instanceof \yii\base\ErrorException ? $exception->getName() : get_class($exception));
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title><?php echo $title?></title>
<style>
body {
font: normal 9pt "Verdana";
color: #000;
background: #fff;
}
h1 {
font: normal 18pt "Verdana";
color: #f00;
margin-bottom: .5em;
}
h2 {
font: normal 14pt "Verdana";
color: #800000;
margin-bottom: .5em;
}
h3 {
font: bold 11pt "Verdana";
}
p {
font: normal 9pt "Verdana";
color: #000;
}
.version {
color: gray;
font-size: 8pt;
border-top: 1px solid #aaa;
padding-top: 1em;
margin-bottom: 1em;
}
</style>
</head>
<body>
<h1><?php echo $title?></h1>
<h2><?php echo nl2br($owner->htmlEncode($exception->getMessage()))?></h2>
<p>
The above error occurred while the Web server was processing your request.
</p>
<p>
Please contact us if you think this is a server error. Thank you.
</p>
<div class="version">
<?php echo date('Y-m-d H:i:s', time())?>
<?php echo YII_DEBUG ? $owner->versionInfo : ''?>
</div>
</body>
</html>