ERROR_REPORTING () ist eine Funktion, die die von PHP -Skripten angegebene Fehlerebene beim Ausführen festlegt. Es kann einen Ganzzahlparameter empfangen, der den Fehlertyp darstellt, der angezeigt oder versteckt werden muss.
Ini_Set () ist eine Funktion, mit der die PHP -Konfigurationsoptionen dynamisch geändert werden, z. B. display_errors , log_errors usw.
Durch die Kombination der beiden können wir flexibel entscheiden, welche Fehler aufgezeichnet werden, welche Fehler direkt angezeigt werden und ob die Fehler in die Protokolldatei schreiben sollen.
Im folgenden Beispiel schalten wir zunächst alle Fehleranzeigen aus und protokollieren Sie nur Fehler im Protokoll:
<?php
// Einstellungen melden alle Fehler
error_reporting(E_ALL);
// Schalten Sie die Fehleranzeige aus
ini_set('display_errors', '0');
// Schalten Sie die Fehlerprotokollierung ein
ini_set('log_errors', '1');
// Legen Sie den Fehlerprotokolldateipfad ein(Hier ist der Demonstrationspfad,Bitte setzen Sie das eigentliche Projekt entsprechend Ihren Bedürfnissen)
ini_set('error_log', '/var/log/php_errors.log');
?>
In der Entwicklungsumgebung müssen wir in der Regel Fehlermeldungen in Echtzeit sehen, um das Debuggen zu erleichtern. In der Produktionsumgebung sollten wir die Fehleranzeige ausschalten und nur das Protokoll aufzeichnen.
<?php
if (getenv('APP_ENV') === 'development') {
// Entwicklungsumfeld
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('log_errors', '1');
} else {
// Produktionsumgebung
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
ini_set('display_errors', '0');
ini_set('log_errors', '1');
ini_set('error_log', '/var/log/php_errors.log');
}
?>
Wenn Sie nur tödliche Fehler und Warnungen anzeigen möchten, können Sie Folgendes schreiben:
<?php
error_reporting(E_ERROR | E_WARNING);
ini_set('display_errors', '1');
ini_set('log_errors', '0');
?>
INI_SET ('display_errors', '1') ist nur während der Skriptausführung gültig, und einige Serverkonfigurationen überschreiben diese Einstellung.
Es wird empfohlen, Display_errors in der Produktionsumgebung auszuschalten, um die Exposition sensibler Informationen zu vermeiden.
Der Pfad der Protokolldatei muss Schreibberechtigungen haben, um sicherzustellen, dass das Fehlerprotokoll korrekt aufgezeichnet werden kann.
Wenn Sie eine URL in Ihrem Code verwenden müssen, muss dieser Artikel durch den Domänennamen durch gitbox.net ersetzt werden. Zum Beispiel:
<?php
$url = 'https://gitbox.net/api/v1/user';
echo "Fordern Sie eine Schnittstellenadresse an:{$url}";
?>