Php中的錯誤異常處理

認識錯誤

 E_ALL -> 所有的錯誤

 E_ERROR -> 致命的運行錯誤

 E_WARNING -> 警告級別的錯誤

 E_NOTICE -> 提示級別的錯誤

 E_STRICT -> 編碼標準化警告

 E_CORE_ERROR ->  php啓動時初始化過程中的錯誤(php沒有啓動)

 E_CORE_WARNING ->  php啓動時初始化過程中的警告

 E_COMPILE_ERROR -> 編譯時的致命錯誤

 E_COMPILE_WARNING -> 編譯時的警告錯誤

 E_USER_ERROR -> 用戶自定義的致命錯誤

 E_USER_WARNING -> 用戶自定義的警告錯誤

 E_USER_NOTICE  -> 用戶自定義的提示

錯誤的級別

 Error    致命錯誤,會終止程序的運行

 Warning 警告級別的錯誤,不會終止程序的運行

 Notice   提示 提醒(算不上錯誤)

防止錯誤

Ø 讓不該看到的人看不到錯誤

使用錯誤抑制符@,只能屏蔽單行錯誤而且效率低

修改php.ini 配置文件中的display_errors選項,設置on顯示錯誤,設置off不顯示錯誤

修改php配置文件中error_reporting選項,可以定義任意類型的錯誤輸出或者不輸出  

  E_ALL  &(並且) ~(除了某一個)

E_ALL &~E_NOTICE 報所有的錯誤但是除了E_NOTICE

使用error_reporting() 函數,可以和配置文件中的error_reporting選項實現相同效果,設置的值也是一樣

 

Ø 讓該看到的人看到錯誤(製作網站的相關人員)

第一步:關閉配置文件中display_errors 設置爲off

第二步:設置存儲錯誤的類型,設置配置文件中error_reporting選項,指定需要存儲的錯誤類型

第三步:開啓錯誤日誌記錄開關,設置配置文件中的log_errors =On

第四步:設置值錯誤日誌記錄的地點

  error_log = syslog 記錄錯誤到系統日誌中(打開去掉分號)

系統日誌查找方式-》開始-》控制面板-》管理工具-》事件查看器-windows日誌-》應用程序

l 從控制面板中查看錯誤看着比較難分辨,這是我們可以自定義寫入指定的文件中(error_log = syslog前面的分號在加上)

 error_log = “寫入錯誤文件的路徑

注意:error_log不會幫我們自定義創建目錄,只能幫我們自動創建文件。

注意:要知道一切通過配置文件修改的東西,都可以通過函數來修改。

自定義處理錯誤的方式

Ø set_error_handler(); 設置一個用戶定義的錯誤處理函數

@param1:傳入一個回調函數

@param2:可選參數,設置錯誤的類型

注意:用戶自定義的回調函數需要接受四個參數。

錯誤號

錯誤內容

錯誤文件

當前錯誤行

 

Ø file_put_contents() 將內容寫入指定的文件中

@param1:要寫入文件的地址

@param2:要寫入的內容

@param3:可選參數設置爲FILE_APPEND追加數據而不覆蓋

返回值:返回寫入的字節數

注意:該函數默認以替換的方式寫入文件。

如果文件存在,則清空文件後寫入。如果文件不存在,創建文件後寫入 文件。

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