Heim  >  Artikel  >  Backend-Entwicklung  >  Erhalten Sie Informationen zur Fehlerausgabe während der PHP-Codeausführung

Erhalten Sie Informationen zur Fehlerausgabe während der PHP-Codeausführung

WBOY
WBOYOriginal
2023-05-11 08:14:13779Durchsuche

PHP ist eine weit verbreitete Open-Source-Programmiersprache. Sie verfügt über leistungsstarke Kompilierungsfunktionen. Es ist jedoch unvermeidlich, dass während des Entwicklungsprozesses verschiedene Fehler auftreten. Um diese Fehler schnell zu lokalisieren und zu beheben, müssen Sie während der Ausführung des PHP-Codes die Fehlerausgabeinformationen abrufen. In diesem Artikel wird erläutert, wie Sie während der Ausführung von PHP-Code Fehlerausgabeinformationen erhalten.

1. Verwenden Sie die Funktion „error_reporting“.

PHP stellt die Funktion „error_reporting“ bereit, mit der Sie die Fehlerberichtsebene von PHP-Code festlegen können. Bei der Codeentwicklung und beim Debuggen kann error_reporting auf E_ALL gesetzt werden, um alle Fehlerinformationen im Code zeitnah zu erfassen. Wie folgt:

error_reporting(E_ALL);

Fügen Sie nach dem Festlegen von error_reporting try...catch... zum Code hinzu, um die Fehlerinformationen während der PHP-Codeausführung abzurufen. Wie folgt:

try{
    // your code here
}catch(Exception $e){
    echo $e->getMessage();
}

Durch die Catch-Anweisung können während der Codeausführung generierte Fehler erfasst werden, und dann werden die Fehlerinformationen über die Echo-Anweisung ausgegeben, damit Programmierer sie lokalisieren und reparieren können. Beachten Sie, dass in einer Produktionsumgebung die Ausgabe von Fehlerberichten deaktiviert werden sollte, um Informationslecks zu vermeiden.

2. Verwenden Sie die Funktion set_error_handler

Zusätzlich zur Verwendung von try...catch... können Sie auch die Funktion set_error_handler verwenden, um Fehlerinformationen während der Ausführung von PHP-Code abzurufen. Die Funktion set_error_handler wird verwendet, um einen benutzerdefinierten Fehlerhandler zu registrieren. Wenn der PHP-Code einen Fehler generiert, wird der benutzerdefinierte Fehlerhandler aufgerufen, um den Fehler zu behandeln. Wie folgt:

function customError($errno, $errstr){
    echo "<b>Error:</b> [$errno] $errstr<br>";
}

set_error_handler("customError");

Wenn im obigen Beispiel ein Fehler im PHP-Code auftritt, wird der benutzerdefinierte Fehlerhandler customError aufgerufen, um die Fehlermeldung auszugeben. Ein benutzerdefinierter Fehlerhandler muss zwei Parameter akzeptieren, $errno und $errstr, die den Fehlertyp bzw. die Fehlermeldung darstellen. Benutzerdefinierte Fehlerhandler sollten im Allgemeinen in eine separate PHP-Datei geschrieben und vor der Ausführung des PHP-Codes in den Code eingebunden werden.

Es ist zu beachten, dass die Funktion set_error_handler nur von PHP generierte Fehler erfassen kann, jedoch keine Warnungen und Benachrichtigungen erfassen kann, die generiert werden, wenn PHP ausgeführt wird. Wenn Sie Warn- und Benachrichtigungsinformationen erfassen müssen, können Sie den dritten Parameter der Funktion set_error_handler verwenden, der die Art des Fehlers angibt, der gemeldet werden kann.

3. Verwenden Sie die Funktionen log_errors und error_log.

Zusätzlich zu den oben genannten Methoden können Sie Fehlerinformationen auch über die Funktionen log_errors und error_log von PHP erfassen. Mit der Funktion log_errors wird festgelegt, ob Fehlerinformationen in die PHP-Protokolldatei geschrieben werden sollen, und dann werden die Fehlerinformationen über die Funktion error_log in die Protokolldatei geschrieben. Wie folgt:

ini_set('log_errors', 'On');
ini_set('error_log', '/path/to/log/file.log');

// your code here

error_log($error_message);

Im obigen Beispiel wird log_errors über die Funktion ini_set auf Ein gesetzt, was bedeutet, dass die generierten Fehlerinformationen in der PHP-Protokolldatei aufgezeichnet werden. Die Angabe von error_log als Protokolldateipfad über die Funktion ini_set bedeutet, dass die Fehlerinformationen in der durch den Pfad angegebenen Protokolldatei gespeichert werden. Übergeben Sie im Code den Parameter $error_message über die Funktion error_log, um die Fehlerinformationen in der angegebenen Protokolldatei aufzuzeichnen.

Es ist zu beachten, dass in einer Produktionsumgebung die Protokolldatei auf schreibgeschützte Berechtigungen eingestellt werden sollte, um zu verhindern, dass andere den Inhalt der Protokolldatei ändern. Gleichzeitig müssen Protokolldateien lange genug aufbewahrt werden, um bei auftretenden Problemen eine Fehlerbehebung und Analyse zu ermöglichen.

Fazit

Die oben genannten drei Methoden können Programmierern helfen, die Fehlerausgabeinformationen von PHP-Code zu erhalten. Durch den Erhalt von Fehlerinformationen während der PHP-Codeausführung können Programmierer Probleme schneller lokalisieren und beheben und die Stabilität und Sicherheit von PHP-Anwendungen gewährleisten. Es ist zu beachten, dass in einer Produktionsumgebung die Anzeige von Fehlerausgabeinformationen eingeschränkt werden sollte, um den Verlust vertraulicher Informationen zu vermeiden. Gleichzeitig sollte auch die Sicherheit der Fehlerausgabeinformationen gewährleistet sein, um zu verhindern, dass Hacker die Fehlerausgabeinformationen angreifen.

Das obige ist der detaillierte Inhalt vonErhalten Sie Informationen zur Fehlerausgabe während der PHP-Codeausführung. 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