Error Handle 2007-07-09 09:26:13
Trong qua trình lập trình, hầu hết các lỗi PHP đều được hiển thị ra ngoài để dễ chỉnh sữa, tuy nhiên khi trang web vào hoạt động chính thức thì ta nên tắt hết các lỗi đó hoặc control lỗi đó theo ý mình, như vậy giúp an toàn hơn trong vấn đề bảo mật.
<?php
/*******************************************************
* BASIC Template Engine is a simple template engine *
* Copyright @ 2007 the phpGroupVN *
* @param: Customer PHP Error Message *
* website: www.phpbasic.com *
* Email: admin@phpbasic.com *
********************************************************/
function phpBASICerror($errno, $errmsg, $filename, $linenum, $vars)
{
$dt = date("Y-m-d h:i:s");
$errortype = array (
E_USER_ERROR => 'BASIC Fatal Error',
E_ERROR => 'BASIC Error',
E_WARNING => 'BASIC Warning',
E_PARSE => 'BASIC Parsing Error',
E_NOTICE => 'BASIC Notice',
E_CORE_ERROR => 'BASIC Core Error',
E_CORE_WARNING => 'BASIC Core Warning',
E_COMPILE_ERROR => 'BASIC Compile Error',
E_COMPILE_WARNING => 'BASIC Compile Warning',
E_USER_ERROR => 'BASIC User Error',
E_USER_WARNING => 'BASIC User Warning',
E_USER_NOTICE => 'BASIC User Notice',
E_STRICT => 'BASIC Runtime Notice',
E_RECOVERABLE_ERROR => 'BASIC Catchable Fatal Error'
);
$user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);
$err = "";
$err .= "tDATE: " . $dt . "n";
$err .= "tERROR_NUM: " . $errno . "n";
$err .= "tERROR_TYPE:" . $errortype[$errno] . "n";
$err .= "tERROR_MSG: " . preg_replace('/function.(.*)/i','http://phpbasic.com/function.\1',$errmsg) . "<br />n";
$err .= "tFILE: " . $filename . "n";
$err .= "tLINES: " . $linenum . "n";
$err .= "nn";
error_log($err, 3, "error.log");
}
set_error_handler("phpBASICerror");
error_reporting(E_ALL);
//Các đoạn code sau viết bình thường
?>
Đây là đoạn code để handle lại error_reporting(); (phần báo lỗi của PHP) nên bạn phải đặt nó ở đầu của web site để nó có thể handle tất cả các lỗi trên web.
*chú thích:
error_reporting(VALUE);
VALUE :
0: không hiển thị bất kỳ lỗi gì
E_ALL: bật tất cả các lỗi
E_WARNING: chỉ hiển thị các WARNING
E_NOTICE: chỉ hiện thị các NOTICE
.........................
Tác giả: TG
Tra loi 4 comment(s) 2007-07-09 09:26:13
Doangia 2007-07-11 11:19:59
Tra loi
www.ticsoft.com 2008-09-14 09:57:54
Tra loi
ndthuan 2008-09-15 10:07:45
Ý đồ chèn link tăng rank nhưng mà mấy comment này do Javascript show ra, mấy cái SE spider nó đâu có thực thi được JS lolz
Tra loi
Quan Tran Anh 2008-09-15 10:25:27
Tra loi
Y kien