Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Protokollfehler

PHP-Protokollfehler

PHPz
PHPzOriginal
2024-08-29 13:06:20302Durchsuche

Die PHP-Programmiersprache bietet eine andere Art des Umschaltens der Fehlerprotokollierung, um den Schweregrad des Fehlers zu ermitteln, wenn die App/das Programm ausgeführt wird, und den Fehler zurückzugeben. PHP Log Errors zeigt an, ob die Fehlermeldungen des Programmierskripts im Fehlerprotokoll des Servers protokolliert werden oder nicht. Diese Option ist meist serverspezifisch. Auf den meisten Produktionswebsites ist es besser, das Fehlerprotokollierungskonzept anstelle der Fehleranzeige zu verwenden.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax und Parameter

Syntax und Parameter von PHP-Protokollfehlern sind unten angegeben:

Syntax:

error_log(message1, message_type1, destination, extra_headers)

Parameter

In der obigen Syntax werden 4 Parameter erwähnt. Nachfolgend erhalten Sie detaillierte Informationen zu diesen Parametern:

messages: Message1-Parameter ist die Variable, die die zu protokollierende Fehlermeldung enthält. Es ist nicht optional. Es ist die Hauptschlüsselkomponente der Funktion error_log(). Dieser Parameter enthält meistens den Wert vom Typ Zeichenfolge.

message_type1: Der Parameter „Message_type1“ gibt an, wohin der/die Fehler gehen sollen. Schauen Sie sich die Codes des Parameters unten an, damit Sie es besser verstehen.

  1. Code 1 des Parameters message_type1 sendet die Nachricht an den PHP-Systemlogger (PHP-Systemlogger).
  2. Code 2 des Parameters message_type1 sendet die Nachricht an die angegebene E-Mail-Adresse, die im Ziel angegeben ist.
  3. Code 3 des Parameters message_type1 funktioniert und sendet die Nachricht nur über die spezifische PHP-Debugging-Verbindung, dies geschieht jedoch nur, wenn das Remote-Debugging aktiviert ist.
  4. Code 4 des Parameters message_type1 hilft beim Anhängen der Datei, die tatsächlich im Ziel angegeben ist.
  5. Der Parameter Message_type1 ist hier in der Funktion error_log() immer optional. Dieser Parameter akzeptiert nur die oben genannten ganzzahligen Werte/Codes.
  • Ziel: Der Zielparameter hilft bei der Angabe der Adresse/des Ortes, an den die Fehlermeldung gesendet werden soll. Der Speicherort kann eine Datei oder eine E-Mail-Adresse sein. Es ist der optionale Parameter. Man kann es je nach Anforderung verwenden. Es ist der Ressourcentypwert.
  • extra_headers: Der Parameter „Extra_headers“ wird nur verwendet, wenn der Wert/Code „message_type1“ „1“ ist. Es ist auch der optionale Parameter. Wenn Sie nicht möchten, können Sie ihn wie einige der anderen optionalen Parameter auch vernachlässigen. Es handelt sich um den String-Typ-Wert.

Wie funktioniert die PHP-Protokollfehlerfunktion?

PHP-Protokollfehlerfunktionen basieren auf der Überprüfung der Fehlermeldungen des Programms, die im Server-Fehlerprotokoll error_log() protokolliert werden sollten. PHP Logic Errors funktioniert auf dem Server, da es serverspezifisch ist. Es funktioniert, ohne die maximale Länge der log_errors in Bytes festzulegen. Im error_log() werden die Informationen der Quelle hinzugefügt, die standardmäßig 1024 und 0 sind, weil die maximale Länge überhaupt nicht angewendet wird. Dies ist die Länge, die auf den/die protokollierten Fehler angewendet wird/werden. Die maximale Länge gilt auch für die angezeigten Fehler und auch für die „$php_errormsg“, aber nicht explizit aufgerufene Funktion/Funktionen error_log().

Für eine bessere Funktion sollte der Wert für PHP-Protokollfehler als Sicherheitsmaßnahme für die Web-Server auf den Wert 0 geändert werden. Außerdem werden Fehler an das Sys-Protokoll (Systemprotokoll) gesendet, wenn es auf Syslog eingestellt ist. Fehler und Warnungen in PHP können in der Datei protokolliert werden, indem Sie das PHP-Programm/Skript verwenden und auch die Konfiguration der php.ini-Datei ändern. Dies kann mit zwei Ansätzen erreicht werden.

Ansatz Eins

Um die Fehlermeldung(en) an die gewünschte Datei zu senden, müssen Sie die Funktion „error_log()“ verwenden. Das erste Argument, das wir an die Funktion error_log() übergeben, ist die zu sendende Fehlermeldung. Das zweite Argument sagt uns, wohin die Fehlermeldung protokolliert/gesendet werden soll. Hier wird das 2. nd Argument auf den Wert 3 gesetzt, der verwendet wird, um die Fehlermeldung in die Datei umzuleiten. Das dritte Argument wird verwendet, um den Pfad zur Datei der Fehlerprotokolldatei anzugeben.

Ansatz Zwei

Beim zweitennd Ansatz ermöglicht die Funktion init_set() dem Benutzer, die Konfiguration der PHP.INI-Datei programmgesteuert und systematisch zu aktualisieren. Um die Fehlerprotokollierung in PHP zu aktivieren, wird der Befehl ini_set(“log_errors”,TRUE) hinzugefügt. Ebenso wird zum Festlegen der Fehlerprotokolldatei der Befehl „ini_set(‚error_log‘,$log_file)“ zum PHP-Programmierskript hinzugefügt. Um die Fehlermeldung in der gewünschten Datei zu protokollieren, wird der Funktionsaufruf „error_log($error_message)“ verwendet.

Beispiele zur Implementierung von Protokollfehlern in PHP

Beispiele für PHP-Protokollfehler finden Sie unten:

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-Protokollfehler

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-Protokollfehler

Das obige ist der detaillierte Inhalt vonPHP-Protokollfehler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:error_reporting() in PHPNächster Artikel:error_reporting() in PHP