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
Tác giả:Nguyễn Minh Tân

