首頁 >後端開發 >PHP問題 >怎麼檢測php的錯誤

怎麼檢測php的錯誤

(*-*)浩
(*-*)浩原創
2019-09-04 11:09:042616瀏覽

在建立腳本和 web 應用程式時,錯誤處理是一個重要的部分。如果您的程式碼缺少錯誤偵測編碼,那麼程式看起來很不專業,也為安全風險敞開了大門。

怎麼檢測php的錯誤

基本的錯誤處理:使用die() 函數

第一個範例展示了一個開啟文字檔案的簡單腳本:(建議學習:PHP影片教學

<?php
$file=fopen("welcome.txt","r");
?>

如果檔案不存在,您會得到類似這樣的錯誤:

Warning: fopen(welcome.txt) [function.fopen]: failed to open stream: 
No such file or directory in C:\webfolder\test.php on line 2

為了避免用戶獲得類似上面的錯誤訊息,我們在存取檔案之前檢測該檔案是否存在:

<?php
if(!file_exists("welcome.txt"))
 {
 die("File not found");
 }
else
 {
 $file=fopen("welcome.txt","r");
 }
?>

現在,假如檔案不存在,您會得到類似這樣的錯誤訊息:

File not found

比起之前的程式碼,上面的程式碼更有效,這是由於它採用了一個簡單的錯誤處理機制在錯誤之後終止了腳本。

不過,簡單地終止腳本並不總是恰當的方式。讓我們研究一下用於處理錯誤的備選的 PHP 函數。

建立自訂錯誤處理器

建立一個自訂的錯誤處理器非常簡單。我們很簡單地創建了一個專用函數,可以在 PHP 中發生錯誤時呼叫該函數。

此函數必須有能力處理至少兩個參數(error level 和error message),但是可以接受最多五個參數(可選的:file, line-number 以及error context):

error_function(error_level,error_message,
error_file,error_line,error_context)

觸發錯誤

在腳本中使用者輸入資料的位置,當使用者的輸入無效時觸發錯誤的很有用的。在 PHP 中,這個任務由 trigger_error() 完成。

錯誤記錄

預設地,根據在 php.ini 中的 error_log 配置,PHP 會向伺服器的錯誤記錄系統或檔案傳送錯誤記錄。透過使用 error_log() 函數,您可以向指定的檔案或遠端目的地傳送錯誤記錄。

透過電子郵件向自己發送錯誤訊息,是一種獲得指定錯誤的通知的好方法。

以上是怎麼檢測php的錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn