PHP 錯誤處理機制

      

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Make Error Happen!</title>
</head>
<body>
<form action = "error_.php" method = "post">
	<table border ="0">
		<tr>
			<td>MESSAGE:</td>
			<td><input type="text" maxlength="50" size="30" name="error_msg"/></td>
			
		</tr>
		<tr>
			<td>
			<select name="error">
			<option value="256"> E_USER_ERROR </option>
			<option value="512">E_USER_WARNING  </option>
			<option value="1024">E_USER_NOTICE  </option>>
			</select>
			</td>
			
				
		</tr>
		<tr>
			<td colspan = "2" algin = "center">
				<input type = "submit" value = "submit error"/>
			</td>
		</tr>
	</table>
</form>
</body>
</html>
<?php
//錯誤處理函數
	function  error_handle($error_level, $error_msg)
	{
		echo  "an error is cause by user and the error level is:".$error_level."error message is:".$error_msg;
		//調用error_log函數將錯誤信息寫入日誌(以追加形式)
		error_log(date('Y-m-d G-i-s').$error_level.$error_msg.'\n',3,'error_log.txt');
	}
	//設置錯誤處理函數,只處理由用戶自己引起的錯誤
	set_error_handler("error_handle",E_USER_ERROR|E_USER_NOTICE|E_USER_WARNING);
	if(isset($_POST['error']) && isset($_POST['error_msg']))
	{
		$error_level = (int)$_POST['error'];
		$error_msg = $_POST['error_msg'];
		trigger_error($error_msg,$error_level);
		
	}
	
?>

運行示例

wKioL1bZd6mxKJ-6AAAwDx_Mfhk492.png

wKioL1bZd6ny4lDyAACYddv6Jj0277.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章