Ich möchte den Inhalt des Fehlerprotokolls vor der Ausführung von error_log();
löschen, um neue Fehler zu setzen.Wie Error Log Inhalte aus einer PHP-Datei löschen?
Wie kann ich dies aus einer PHP-Datei heraus tun?
Ich möchte den Inhalt des Fehlerprotokolls vor der Ausführung von error_log();
löschen, um neue Fehler zu setzen.Wie Error Log Inhalte aus einer PHP-Datei löschen?
Wie kann ich dies aus einer PHP-Datei heraus tun?
einfache Art und Weise:
file_put_contents(ini_get('error_log'), '');
error_log("Houston, we have a problem.", 0);
Dies funktioniert nur, wenn Ihr Benutzer, der diese ausführt, die Erlaubnis, dies zu tun hat (Schreibzugriff auf diese Datei).
Andernfalls können Sie set a other location for your runtime - an einem Speicherort, wo Sie Zugriff für dieses Protokoll haben. Wie folgt aus:
ini_set('error_log', __DIR__ . DIRECTORY_SEPARATOR . 'error.log');
# ^full path with leading slash
Wenn Sie sichern möchten, die Datei stattdessen können Sie dies mit dem oneliner:
file_put_contents(pathinfo(ini_get('error_log'), PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . 'php_error_backup_'.time().'.log', file_get_contents(ini_get('error_log')));
Oneliner erklärt/erweitert:
$save_location = pathinfo(ini_get('error_log'), PATHINFO_DIRNAME);
$backup_filename = $save_location . DIRECTORY_SEPARATOR . 'php_error_backup_'.time().'.log';
$backup_content = file_get_contents(ini_get('error_log'));
file_put_contents($backup_filename, $backup_content);