Ich möchte beim Ausführen von PHP-Code eine Nachricht in eine Fehlerprotokolldatei schreiben.
Ich versuche, die PHP- error_log()
Funktion Docs zu verwenden .
Aber es funktioniert nicht richtig für mich.
Ich möchte beim Ausführen von PHP-Code eine Nachricht in eine Fehlerprotokolldatei schreiben.
Ich versuche, die PHP- error_log()
Funktion Docs zu verwenden .
Aber es funktioniert nicht richtig für mich.
error_log()
funktioniert die Funktion nur und Sie haben nicht gesagt, was genau für Sie nicht funktioniert hat, sodass Ihre Frage nicht klar ist.
Antworten:
Wenn Sie laut PHP-Dokumentation nichts in Ihrer php.ini-Datei ändern möchten , können Sie dies tun.
error_log("Error message\n", 3, "/mypath/php.log");
Der erste Parameter ist die Zeichenfolge, die an das Protokoll gesendet werden soll. Der zweite Parameter 3
bedeutet, ein Dateiziel zu erwarten. Der dritte Parameter ist der Protokolldateipfad.
error_log("Error message\n")
aber nichts erscheint in /var/log/httpd/error_log
. :( Irgendeine Idee warum?
php.ini
Datei überprüfen Sie die error_log Konfigurationseinstellung. Diese Einstellung enthält den Dateinamen, in den Fehler geschrieben werden. zB error_log "log_file_name"
. Weitere Details unter php.net/manual/en/function.error-log.php
Sie können einfach verwenden:
error_log("your message");
Standardmäßig wird die Nachricht an den PHP-Systemlogger gesendet.
error_log
Anweisung in php.ini auskommentieren.
error_log
auch ...
Wir alle wissen, dass PHP Fehler in der Datei php_errors.log speichert.
Diese Datei enthält jedoch viele Daten.
Wenn wir unsere Anwendungsdaten protokollieren möchten, müssen wir sie an einem benutzerdefinierten Speicherort speichern.
Wir können zwei Parameter in der Funktion error_log verwenden, um dies zu erreichen.
http://php.net/manual/en/function.error-log.php
Wir können es tun mit:
error_log(print_r($v, TRUE), 3, '/var/tmp/errors.log');
Wo,
print_r($v, TRUE) :
protokolliert $ v (Array / String / Objekt) in der Protokolldatei.
3
: Protokollnachricht in benutzerdefinierte Protokolldatei einfügen, die im dritten Parameter angegeben ist.
'/var/tmp/errors.log'
: Benutzerdefinierte Protokolldatei (Dieser Pfad ist für Linux, wir können je nach Betriebssystem andere angeben).
ODER können Sie verwenden file_put_contents()
file_put_contents('/var/tmp/e.log', print_r($v, true), FILE_APPEND);
Wo:
'/var/tmp/errors.log':
Benutzerdefinierte Protokolldatei (Dieser Pfad ist für Linux, wir können je nach Betriebssystem andere angeben).
print_r($v, TRUE) :
protokolliert $ v (Array / String / Objekt) in der Protokolldatei. FILE_APPEND: Konstanter Parameter, der angibt, ob an die Datei angehängt werden soll, wenn sie vorhanden ist. Wenn die Datei nicht vorhanden ist, wird eine neue Datei erstellt.
Sie können den normalen Dateibetrieb verwenden, um ein Fehlerprotokoll zu erstellen. Verweisen Sie einfach darauf und geben Sie diesen Link ein: PHP File Handling