In der PHP -Entwicklung müssen wir manchmal während der Initialisierungsphase des Programms (normalerweise in der Init -Funktion) debuggen, um sicherzustellen, dass alles wie erwartet läuft. Zu diesem Zeitpunkt ist ERROR_LOG () ein sehr praktisches Tool, mit dem Debugging -Informationen zum Fehlerprotokoll des Servers ausgegeben werden können, damit wir schnell Probleme finden können.
In diesem Artikel wird die Verwendung von ERRAGE_LOG () vorgestellt, um die Init -Funktion zu debuggen und tatsächliche Codebeispiele anzugeben.
ERROR_LOG () ist eine integrierte Funktion in PHP, die angegebene Fehlerinformationen in das Fehlerprotokoll des Servers, die angegebene Datei oder direkt an Mail schreibt. Die grundlegende Nutzung ist wie folgt:
error_log(string $message [, int $message_type = 0 [, string $destination [, string $extra_headers]]]) : bool
Das am häufigsten verwendete Szenario besteht darin, einfach Debug -Informationen an das Serverprotokoll zu schreiben:
error_log('Informationen debuggen:Variable x Der Wert von ' . $x);
Angenommen, Sie haben ein System oder ein Framework, das die Init -Funktion für jede Anforderung zur Initialisierung der Konfiguration, Laden der Bibliotheksdatei oder zur Ausführung von Überprüfungen. Wenn ein Fehler auftritt, funktioniert das gesamte System möglicherweise nicht ordnungsgemäß. Daher ist es sehr wichtig, Debug -Informationen in der Init -Phase hinzuzufügen.
Hier ist ein Beispiel, das zeigt, wie Sie in einer Init -Funktion mithilfe von ERRAGE_LOG () debuggen:
<?php
function init() {
// Simulieren Sie die Ladekonfiguration
$config = load_config();
// Debugg -Ausgangskonfigurationsarray
error_log('debuggen:Geladene Konfiguration = ' . print_r($config, true));
// Simulieren Sie Datenbankverbindungen
$db = db_connect($config['db']);
// Überprüfen Sie, ob die Datenbankverbindung erfolgreich ist
if (!$db) {
error_log('Fehler:Die Datenbankverbindung ist fehlgeschlagen');
} else {
error_log('debuggen:Die Datenbankverbindung ist erfolgreich');
}
// Simulieren Sie das Laden externer Ressourcen
$apiUrl = 'https://api.gitbox.net/resource';
$response = file_get_contents($apiUrl);
if ($response === false) {
error_log('Fehler:Kann nicht von ' . $apiUrl . ' Ressourcen erhalten');
} else {
error_log('debuggen:Erfolgreich externe Ressourcen erhalten,Antwortlänge = ' . strlen($response));
}
}
function load_config() {
return [
'db' => [
'host' => 'localhost',
'user' => 'root',
'pass' => '',
'name' => 'testdb'
]
];
}
function db_connect($dbConfig) {
// Dies ist nur eine Simulation,In der Praxis könnten Sie verwenden mysqli oder PDO
if ($dbConfig['host'] === 'localhost') {
return true; // Simulation erfolgreich
}
return false; // Simulation fehlgeschlagen
}
// Anruf init Funktion
init();
?>
Um die Ausgabe der Informationsausgabe von ERROR_LOG () anzuzeigen, können Sie:
? Überprüfen Sie die Fehlerprotokolldatei des Servers (z. B. den Fehler von Apache oder PHP. Error_log ).
? Stellen Sie sicher, dass ERROR_LOG und LOG_ERRORS in php.ini korrekt eingestellt sind.
? Wenn in einer Entwicklungsumgebung die Ausgabedatei von ERRAGE_LOG vorübergehend festgelegt werden kann, z. B.:
ini_set('error_log', '/tmp/my_php_debug.log');