色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP擴(kuò)展之錯(cuò)誤處理和日志記錄

瀏覽:23日期:2022-09-15 14:58:34
簡(jiǎn)介

PHP提供了錯(cuò)誤處理和日志記錄的功能. 這些函數(shù)允許你定義自己的錯(cuò)誤處理規(guī)則,以及修改錯(cuò)誤記錄的方式. 這樣,你就可以根據(jù)自己的需要,來(lái)更改和加強(qiáng)錯(cuò)誤輸出信息以滿足實(shí)際需要.

通過(guò)日志記錄功能,你可以將信息直接發(fā)送到其他日志服務(wù)器,或者發(fā)送到指定的電子郵箱(或者通過(guò)郵件網(wǎng)關(guān)發(fā)送),或者發(fā)送到操作系統(tǒng)日志等,從而可以有選擇的記錄和監(jiān)視你的應(yīng)用程序和網(wǎng)站的最重要的部分。

錯(cuò)誤報(bào)告功能允許你自定義錯(cuò)誤反饋的級(jí)別和類型,可以是簡(jiǎn)單的提示信息或者使用自定義的函數(shù)進(jìn)行處理并返回信息.

范例

下面我們可以看到錯(cuò)誤處理功能在 PHP 中的使用的示例。 我們定義錯(cuò)誤處理函數(shù),記錄錯(cuò)誤信息到一個(gè)文件中 (使用以 XML 格式) ,并在發(fā)生嚴(yán)重邏輯錯(cuò)誤時(shí),給開(kāi)發(fā)人員發(fā)送電子郵件。

Example #1 在腳本中使用錯(cuò)誤句柄

<?php // 我們將要定義自己的錯(cuò)誤處理 error_reporting(0); // 用戶自定義錯(cuò)誤處理函數(shù) function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars) {// 錯(cuò)誤發(fā)生的時(shí)間$dt = date('Y-m-d H:i:s (T)');// 定義錯(cuò)誤字符串的關(guān)聯(lián)數(shù)組// 在這里我們只考慮// E_WARNING, E_NOTICE, E_USER_ERROR,// E_USER_WARNING 和 E_USER_NOTICE$errortype = array ( E_ERROR => ’Error’, E_WARNING => ’Warning’, E_PARSE => ’Parsing Error’, E_NOTICE => ’Notice’, E_CORE_ERROR => ’Core Error’, E_CORE_WARNING => ’Core Warning’, E_COMPILE_ERROR => ’Compile Error’, E_COMPILE_WARNING => ’Compile Warning’, E_USER_ERROR => ’User Error’, E_USER_WARNING => ’User Warning’, E_USER_NOTICE => ’User Notice’, E_STRICT => ’Runtime Notice’, E_RECOVERABLE_ERROR => ’Catchable Fatal Error’);// 設(shè)置要保存變量跟蹤信息的錯(cuò)誤類別$user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);$err = '<errorentry>n';$err .= 't<datetime>' . $dt . '</datetime>n';$err .= 't<errornum>' . $errno . '</errornum>n';$err .= 't<errortype>' . $errortype[$errno] . '</errortype>n';$err .= 't<errormsg>' . $errmsg . '</errormsg>n';$err .= 't<scriptname>' . $filename . '</scriptname>n';$err .= 't<scriptlinenum>' . $linenum . '</scriptlinenum>n';if (in_array($errno, $user_errors)) { $err .= 't<vartrace>' . wddx_serialize_value($vars, 'Variables') . '</vartrace>n';}$err .= '</errorentry>nn';// for testing// echo $err;// 記錄錯(cuò)誤信息到錯(cuò)誤日志,并在發(fā)生關(guān)鍵用戶錯(cuò)誤時(shí)發(fā)送電子郵件error_log($err, 3, '/usr/local/php4/error.log');if ($errno == E_USER_ERROR) { mail('[email protected]', 'Critical User Error', $err);} } function distance($vect1, $vect2) {if (!is_array($vect1) || !is_array($vect2)) { trigger_error('Incorrect parameters, arrays expected', E_USER_ERROR); return NULL;}if (count($vect1) != count($vect2)) { trigger_error('Vectors need to be of the same size', E_USER_ERROR); return NULL;}for ($i=0; $i<count($vect1); $i++) { $c1 = $vect1[$i]; $c2 = $vect2[$i]; $d = 0.0; if (!is_numeric($c1)) {trigger_error('Coordinate $i in vector 1 is not a number, using zero',E_USER_WARNING);$c1 = 0.0; } if (!is_numeric($c2)) {trigger_error('Coordinate $i in vector 2 is not a number, using zero',E_USER_WARNING);$c2 = 0.0; } $d += $c2*$c2 - $c1*$c1;}return sqrt($d); } $old_error_handler = set_error_handler('userErrorHandler'); // 未定義的常量,將產(chǎn)生一個(gè)警告 $t = I_AM_NOT_DEFINED; // 定義一些 '載體' $a = array(2, 3, 'foo'); $b = array(5.5, 4.3, -1.6); $c = array(1, -3); // 引發(fā)一個(gè)用戶錯(cuò)誤 $t1 = distance($c, $b) . 'n'; // 再次引發(fā)一個(gè)用戶錯(cuò)誤 $t2 = distance($b, 'i am not an array') . 'n'; // 引發(fā)一個(gè)警告 $t3 = distance($a, $b) . 'n';?> 錯(cuò)誤處理函數(shù)debug_backtrace — 產(chǎn)生一條回溯跟蹤(backtrace)debug_print_backtrace — 打印一條回溯。error_get_last — 獲取最后發(fā)生的錯(cuò)誤error_log — 發(fā)送錯(cuò)誤信息到某個(gè)地方error_reporting — 設(shè)置應(yīng)該報(bào)告何種 PHP 錯(cuò)誤restore_error_handler — 還原之前的錯(cuò)誤處理函數(shù)restore_exception_handler — 恢復(fù)之前定義過(guò)的異常處理函數(shù)。set_error_handler — 設(shè)置一個(gè)用戶定義的錯(cuò)誤處理函數(shù)set_exception_handler — 設(shè)置一個(gè)用戶定義的異常處理函數(shù)。trigger_error — 產(chǎn)生一個(gè)用戶級(jí)別的 error/warning/notice 信息user_error — trigger_error 的別名

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 一级毛片在线不卡直接观看 | 国产一级特黄全黄毛片 | 国产高清美女一级a毛片久久w | 真人一级毛片免费完整视 | 鲁丝一区二区三区不属 | 欧美成人极品怡红院tv | 欧美一级毛片高清免费观看 | 欧美成人a人片 | 视频一区免费 | 一级看片免费视频囗交 | 女人野外小树林一级毛片 | 一级毛片免费观看不卡视频 | 国产高清视频免费最新在线 | 视频三区精品中文字幕 | 久久视频在线观看免费 | 国产精品区一区二区免费 | 特黄aa级毛片免费视频播放 | 免费大片黄手机在线观看 | 亚洲视频一区二区三区 | 美女黄视频在线 | 99久久国内精品成人免费 | 亚洲国产成人久久综合一区 | 成人污网站 | 欧美日韩a∨毛片一区 | 亚洲三级黄 | 久久男人的天堂色偷偷 | 国产一级第一级毛片 | 久久国产视频网 | 国产精品国产三级国产普通 | 成人五级毛片免费播放 | 久久精品视频免费 | 超清首页 国产 亚洲 丝袜 | 国产丶欧美丶日韩丶不卡影视 | 国产资源在线免费观看 | 亚洲国产精品热久久2022 | 国产夜色 | 好吊妞998视频免费观看在线 | 日韩欧美在线精品 | 欧美成人在线免费观看 | 国产午夜精品不卡视频 | 在线免费观看亚洲视频 |