最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php中錯誤處理操作實例分析

 更新時間:2019年08月23日 10:24:12   作者:cscsdvdsv  
這篇文章主要介紹了php中錯誤處理操作,結合實例形式分析了php錯誤的觸發(fā)、處理、日志記錄等相關操作技巧,需要的朋友可以參考下

本文實例講述了php中錯誤處理操作。分享給大家供大家參考,具體如下:

錯誤觸發(fā)

有2種觸發(fā):

系統(tǒng)觸發(fā): E_NOTICE:提示性錯誤,比如使用不存在的變量或常量
E_WARNING:警告性錯誤,比如include載入一個不存在的文件
E_ERROR:致命錯誤,導致程序無法執(zhí)行后續(xù)語句,比如調用一個不存在的函數

自定義觸發(fā):
語法形式:trigger_error("錯誤提示信息內容",3種用戶錯誤代號之一);
其中觸發(fā)了用戶的致命錯誤(E_USER_ERROR),也會終止程序的后續(xù)執(zhí)行

錯誤顯示

是否顯示錯誤報告(display_errors)

有2種來設定是否顯示:

1.在php.ini文件中,設定display_erros的值,為on(顯示),或為off(不顯示),開發(fā)階段應該為on,顯示錯誤信息

2.直接在php腳本文件中設定ini_set("display_errors",0);//不顯示錯誤報告,1為顯示
顯示哪些級別的錯誤報告(error_reporting)
前提是"display_errors"設置為on(或1),表示可以顯示
1.在php.ini文件中 error_reporting=E_ALL | E_STRICT這個值代表所有錯誤

  • 在當前的腳本代碼中設置
ini_set("error_reporting",E_NOTICE); //就顯示該一個級別的錯誤
ini_set("error_reporting",E_NOTICE| E_WARNING); //顯示該2個級別的錯誤
//禁用錯誤報告
error_reporting(0);
//報告運行時錯誤
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//報告所有錯誤
error_reporting(E_ALL);

錯誤日志記錄

錯誤日志其實就是錯誤報告,只是會寫入文件中,此時就稱為錯誤日志

是否記錄log_errors

php.ini中:log_errors=on或off 腳本中:ini_set("log_erros",1);或0
補充: ini_set("php配置項",值);//用于腳本中設置php.ini中某項的值
$v=ini_get("php配置項");//用于獲取php.ini中某項的值

記錄到哪里error_log

一般就只有2個寫法:

1.直接寫一個文件名,系統(tǒng)會自動在每個文件夾下都建立該文件名,并用其記錄該文件夾下的所有網頁文件發(fā)生的錯誤信息ini_set("error_log","my_error.txt");//記錄到該文件

2.使用一個特殊的名字"syslog",則所有的錯誤信息都會記錄到系統(tǒng)的"日志文件中".系統(tǒng)日志文件在這里:控制面板》管理工具》事件查看器》window日志》應用程序:

ini_set("error_log","syslog");//記錄到系統(tǒng)日志中

自定義錯誤處理器

讓系統(tǒng)不要去處理錯誤了,完全由開發(fā)者對錯誤進行處理:顯示和記錄

第一步:設定要用于處理錯誤的函數名:set_error_handler("f1");

第二步:去定義該函數function f1() {這里可以寫任意代碼,正常去顯示錯誤報告,和記錄}

例:

set_error_handler("my_error_handler");
//定義該函數,需要定義4個形參分別代表$errCode:代表錯誤代號(級別) $errMsg:代表錯誤//信息內容 $errFile:代表錯誤的文件名 $errLine:代表錯誤的行號,一旦發(fā)生錯誤自動調用
function my_error_handler($errCode,$errMsg,$errFile,$errLine) {
  $str="";
  $str .="<p><font color='red'>大事不好,發(fā)生錯誤:</font>";
  $str .="<br />錯誤代號為:".$errCode;
  $str .="<br />錯誤內容為:".$errMsg;
  $str .="<br />錯誤代號為:".$errFile;
  $str .="<br />錯誤代號為:".$errLine;
  $str .="<br />發(fā)生時間為:".date("Y-d-m H:i:s");
  $str .="</p>";
  echo $str; //輸出該構建完整的錯誤處理結果,也可以將改內容寫到某個文件中去
}

異常拋出

function checkAge($age){
  if($age>100) throw new Exception('年齡不能大于100');
  echo '年齡符合規(guī)范';
}
//如果年齡大于100,拋出異常
try{
  checkAge(200);
}catch(Exception $e){
  echo $e->getMessage();
}

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP錯誤與異常處理方法總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總

希望本文所述對大家PHP程序設計有所幫助。

相關文章

  • PHP空值檢測函數與方法匯總

    PHP空值檢測函數與方法匯總

    PHP是一種寬松類型的編程語言,在函數中對傳入的參數值的“類型”以及”值是否為空或者NULL“進行檢查是不可缺少的步驟。
    2017-11-11
  • PHP 程序員應該使用的10個組件

    PHP 程序員應該使用的10個組件

    作為一個PHP程序員,你應該知道PHP有著最大的代碼庫。所以無論你想在程序中添加什么模塊,肯定能找到開源解決方案。
    2009-10-10
  • 如何隱藏你的.php文件

    如何隱藏你的.php文件

    如何隱藏你的.php文件...
    2007-01-01
  • php+mysql實現的二級聯(lián)動菜單效果詳解

    php+mysql實現的二級聯(lián)動菜單效果詳解

    這篇文章主要介紹了php+mysql實現的二級聯(lián)動菜單效果,涉及php操作mysql的連接、查詢結合javascript的DOM節(jié)點操作實現二級聯(lián)動菜單效果,末尾還附帶了mysql數據庫相應的sql語句,需要的朋友可以參考下
    2016-05-05
  • PHP中使用addslashes函數轉義的安全性原理分析

    PHP中使用addslashes函數轉義的安全性原理分析

    這篇文章主要介紹了PHP中使用addslashes函數轉義的安全性原理分析,較為深入的分析了addslashes函數的用法及ecshop自定義函數addslashes_deep的不足之處,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安裝配置方法

    Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安裝配置方法

    Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安裝配置方法...
    2007-05-05
  • PHP GD 圖像處理組件的常用函數總結

    PHP GD 圖像處理組件的常用函數總結

    如今,在互聯(lián)網上,很多網站都要處理大量圖片,比如:頭像、上傳的圖片做縮略圖加水印等等。他們需要服務端的大量圖片處理,一門好的服務端語言環(huán)境一定要有對圖像處理的支持。
    2010-04-04
  • PHP中FTP相關函數小結

    PHP中FTP相關函數小結

    這篇文章主要介紹了PHP中FTP相關函數,涉及php操作ftp的連接、傳輸及文件與目錄的相關操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • PHP記錄和讀取JSON格式日志文件

    PHP記錄和讀取JSON格式日志文件

    這篇文章主要介紹了PHP記錄和讀取JSON格式日志文件的相關資料,需要的朋友可以參考下
    2016-07-07
  • lnmp安裝多版本PHP共存的方法詳解

    lnmp安裝多版本PHP共存的方法詳解

    這篇文章主要介紹了Lnmp環(huán)境中設置多版本PHP共存的技巧,依靠php-fpm工具來進行管理,需要的朋友可以參考下
    2018-08-08

最新評論

新密市| 萍乡市| 怀集县| 余庆县| 鄂托克前旗| 泰顺县| 思茅市| 依兰县| 清原| 龙海市| 留坝县| 宽城| 东源县| 崇左市| 建瓯市| 博客| 沂南县| 江达县| 吉安县| 安达市| 昌都县| 长乐市| 任丘市| 涞源县| 宜宾县| 平阳县| 温宿县| 福州市| 建阳市| 平原县| 九龙县| 大足县| 特克斯县| 微山县| 溆浦县| 威宁| 新巴尔虎左旗| 崇礼县| 洱源县| 黄大仙区| 清涧县|