首頁 >後端開發 >php教程 >PHP 日誌錯誤

PHP 日誌錯誤

PHPz
PHPz原創
2024-08-29 13:06:20356瀏覽

PHP 程式語言提供了一種不同類型的錯誤日誌記錄,以便在應用程式/程式運行並傳回錯誤時識別錯誤的嚴重性。 PHP Log Errors 將告訴您程式腳本的錯誤訊息是否記錄到伺服器錯誤日誌中。此選項主要是特定於伺服器的。最好使用錯誤日誌概念來取代大多數生產網站上的錯誤顯示。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

語法與參數

php日誌錯誤的語法和參數如下:

文法:

error_log(message1, message_type1, destination, extra_headers)

參數

在上面的語法中,提到了 4 個參數。您將在下面獲得這些參數的詳細資訊:

messages:Message1 參數是包含要記錄的錯誤訊息的變數。它不是可選的。它是 error_log() 函數的主要關鍵元件。該參數大部分時候都是字串類型值。

message_type1:Message_type1 參數將指定一個/多個錯誤應該去的位置。查看下面參數的程式碼,以便您更好地理解。

  1. message_type1參數的代碼1會將訊息傳送到PHP sys logger(PHP系統記錄器)。
  2. message_type1 參數的代碼 2 會將訊息傳送到目的地中提到的指定電子郵件地址。
  3. message_type1 參數的程式碼 3 將起作用並僅透過特定的 PHP 偵錯連線發送訊息,但只有在啟用遠端偵錯時才會完成。
  4. message_type1 參數的代碼 4 有助於附加目標中實際指定的檔案。
  5. Message_type1 參數在 error_log() 函數中總是可選的。此參數僅接受上面提到的整數類型的值/代碼。
  • 目的地:目的地參數有助於指定錯誤訊息應發送的位址/位置。位置可以是文件或電子郵件地址。它是可選參數。大家可以依需求來使用。它是資源類型值。
  • extra_headers: Extra_headers 參數僅在「message_type1」值/代碼為「1」時使用。它也是可選參數。如果您不想,可以像其他一些可選參數一樣忽略它。是字串類型值。

PHP 日誌錯誤功能如何運作?

PHP 日誌錯誤功能是基於檢查程式的錯誤訊息,這些錯誤訊息應記錄到伺服器錯誤日誌(error_log())中。 PHP 邏輯錯誤在伺服器中起作用,因為它是特定於伺服器的。它無需設定 log_errors 的最大長度(以位元組為單位)即可運作。在 error_log() 中,加入來源訊息,預設為 1024,如果根本不應用最大長度,則為 0。這是將應用於記錄的錯誤的長度。最大長度也適用於顯示的錯誤以及“$php_errormsg”,但未明確呼叫 error_log() 函數。

為了更好地工作,PHP 日誌錯誤值應更改為 0 值,作為面向 Web 的伺服器的安全措施。如果設定為Syslog,它也會將錯誤傳送到sys log(系統日誌)。 PHP 中的錯誤和警告可以透過使用 PHP 程式/腳本以及更改 php.ini 檔案的配置來記錄到該檔案中。這可以透過使用兩種方法來完成。

方法一

要將錯誤訊息傳送到所需文件,您必須使用「error_log()」 函數。我們傳遞給 error_log() 函數的第一個參數將是要傳送的錯誤訊息。第二個參數將告訴我們在哪裡記錄/發送錯誤訊息。這裡 2nd 參數將設定為值 3,用於將錯誤訊息重新導向到檔案。第三個參數將用於指定錯誤日誌檔案的檔案路徑。

方法二

來到第二種方法,init_set()函數將允許使用者以程式設計方式和系統地更新PHP.INI檔案的配置。若要在 php 中啟用錯誤日誌記錄,將會新增 ini_set(“log_errors”,TRUE) 指令。同樣設定錯誤日誌檔案「ini_set(‘error_log’,$log_file)」指令將會加入 PHP 程式腳本中。為了將錯誤訊息記錄到所需的檔案中,將使用「error_log($error_message)」函數呼叫。

在 PHP 中實作日誌錯誤的範例

php 日誌錯誤範例如下:

Example #1

This is the example of implementing the approach one which is mentioned above. This is a php code that is used to log the error into the wanted file/ the given file. In the below code, a variable called “$error_message1” is created with the string value. Then a variable “$log_file1” is created to name the file while it is to be created. Now the main function “error_log()” will come into existence. The first-term inside of the error_log() function is the error text and the last term of the error_log() is to create the specific file on the specific path with “.log” extension to the text file. In the PHP compiler, there will be no output because it is an error concept. The output which I am showing is in the self-created .log text file.

Code:

<?php
$error_message1 = "This is an error message!";
$log_file1 = "./my-errors.log";
error_log($error_message1, 3, $log_file1);
?>

Output:

PHP 日誌錯誤

Example #2

This is the example of implementing the approach two concepts. In the below PHP script, an error is logged into the wanted file. In the code, a string variable is created at first to show the text in the file. Then again a new variable is created to name the specific file which is to be created further. Then setting the error logging is done to be active by using the 1st ini_set(). Then the second time, ini_set() function is used to set the log file in the php.ini configuration. Then error_log() function is used with only one parameter which is nothing but the variable’s value (string text). The text will be displayed in the .log text file.

Code:

<?php
$error_message1 = "Here it is an error message generated itself from the php code!!!";
$log_file2 = "./my-errors.log";
ini_set("log_errors", TRUE);
ini_set('error_log', $log_file2);
error_log($error_message1);
?>

Output:

PHP 日誌錯誤

以上是PHP 日誌錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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