PHP 错误与异常 笔记与总结(18 )页面重定向实现

时间:2023-02-13 03:17:33

在发生错误时,将用户重定向到另一个页面。

 <?php
header('content-type:text/html; charset=utf-8'); class ExceptionRedirectHandler{ protected $_exception;
protected $redirect = '404.html';
protected $_logFile = 'D:/practise/php/Error/LogException3.log'; //构造函数中得到异常对象
public function __construct(Exception $e){
$this->_exception = $e;
} public static function handle(Exception $e){
$self = new self($e);
$self->log();
//清除所有的输出缓冲
while(@ob_end_clean());
header('HTTP/1.1 307 Temporary Rediret');
header('Cache-Control:no-cache, must-revalidate');
header('Expires: Sun, 05 Jul 2015 22:36:42 GMT');
header('Location:'.$self->redirect);
exit(1);
} public function log(){
error_log($this->_exception->getMessage().PHP_EOL, 3, $this->_logFile);
}
} set_exception_handler(array('ExceptionRedirectHandler', 'handle')); //测试
$conn = mysql_connect('localhost', 'root', 'root123');
if(!$conn){
throw new Exception("数据库连接失败"); }

跳转到 404 页面:

PHP 错误与异常 笔记与总结(18 )页面重定向实现