php錯誤處理

2021-10-23 03:20:43 字數 1681 閱讀 5604

php提供了錯誤處理和日誌記錄的功能. 這些函式允許你定義自己的錯誤處理規則,以及修改錯誤記錄的方式. 這樣,你就可以根據自己的需要,來更改和加強錯誤輸出資訊以滿足實際需要.

通過日誌記錄功能,你可以將資訊直接傳送到其他日誌伺服器,或者傳送到指定的電子郵箱(或者通過郵件閘道器傳送),或者傳送到作業系統日誌等,從而可以有選擇的記錄和監視你的應用程式和**的最重要的部分。

錯誤報告功能允許你自定義錯誤反饋的級別和型別,可以是簡單的提示資訊或者使用自定義的函式進行處理並返回資訊.

開發階段:

開發時輸出所有的錯誤報告,有利於我們進行程式除錯

執行階段:

我們不要讓程式輸出任何一種錯誤報告(不能讓使用者看到(包括懂技術, 不懂技術的人))

將錯誤報告寫入日誌中

一、指定錯誤報告 error_reporting = e_ll

二、關閉錯誤輸出 display_errors = off

三、開啟錯誤日誌功能 log_errors = on

1. 預設如果不指定錯誤日誌位置,則預設寫web伺服器的日誌中

2. 為error_log選項指定 乙個檔名(可寫)

3. 寫入到作業系統日誌中error_log=syslog

語法錯誤

一般開發工具都又提示

$a=10

echo $a;

執行錯誤

只有程式執行後,才發生的錯誤

include 'function.php';
邏輯錯誤
$a=20;

$b=10;

if($a==$b)else

e_notice (integer)

需要注意的錯誤,不會影響後面**的執行

e_warning (integer)

警告錯誤,稍微嚴重的錯誤,也不會影響後面**的

e_parse (integer)

編譯時語法解析錯誤。解析錯誤僅僅由分析器產生。

e_error (integer)

致命錯誤,是非常嚴重的錯誤,會影響後面**的執行

e_core_error (integer)

php初始化啟動過程中發生的致命錯誤。該錯誤類似 e_error,但是是由php引擎核心產生的。

die() 函式

如果檔案不存在,您會得到錯誤,

這個時候就可以使用die() 函式

<?phpif(

!file_exists

("welcome.txt"))

else

?>

通過如下設定可以關閉錯誤提示

display_errors = off

在開發階段,我們需要開啟錯誤提示,但是專案上線後,要關閉錯誤提示

即使開啟錯誤提示,仍然可以設定哪些錯誤級別在頁面展示,哪些錯誤級別展示

兩種設定方式

- 修改配置檔案 pho.ini,此檔案已經修改,會影響到所有的php檔案

- 在單獨的php檔案中修改

##### 1.4 錯誤日誌

錯誤資訊除了在頁面展示之外,還可以寫道檔案中。為什麼要提供錯誤日誌檔案呢?

因為專案一旦上線,我們是不關閉錯誤提示,但是可以將執行中的錯誤全部寫道日誌檔案中,開發人員可以根據檔案記錄排查錯誤

PHP 錯誤處理

在 php 中,預設的錯誤處理很簡單。一條訊息會被傳送到瀏覽器,這條訊息帶有檔名 行號以及一條描述錯誤的訊息。在建立指令碼和 web 應用程式時,錯誤處理是乙個重要的部分。如果您的 缺少錯誤檢測編碼,那麼程式看上去很不專業,也為安全風險敞開了大門。本教程介紹了 php 中一些最為重要的錯誤檢測方法。...

PHP 錯誤處理

在 php 中,預設的錯誤處理很簡單。一條訊息會被傳送到瀏覽器,這條訊息帶有檔名 行號以及一條描述錯誤的訊息。在建立指令碼和 web 應用程式時,錯誤處理是乙個重要的部分。如果您的 缺少錯誤檢測編碼,那麼程式看上去很不專業,也為安全風險敞開了大門。本教程介紹了 php 中一些最為重要的錯誤檢測方法。...

PHP 錯誤處理

在 php 中,預設的錯誤處理很簡單。一條錯誤訊息會被傳送到瀏覽器,這條訊息帶有檔名 行號以及描述錯誤的訊息。在建立指令碼和 web 應用程式時,錯誤處理是乙個重要的部分。如果您的 缺少錯誤檢測編碼,那麼程式看上去很不專業,也為安全風險敞開了大門。本教程介紹了 php 中一些最為重要的錯誤檢測方法。...