如何从php文件中清除错误日志内容?

时间:2016-06-14 09:11:41

标签: php error-handling

我想在运行error_log();之前删除错误日志的内容以添加新错误。

我如何在PHP文件中执行此操作?

1 个答案:

答案 0 :(得分:2)

简单方法:

file_put_contents(ini_get('error_log'), '');
error_log("Houston, we have a problem.", 0);

如果正在执行此操作的用户具有执行此操作的权限(对此文件具有写入权限),则此操作仅适用。

否则您可以set a other location for your runtime - 在您有权访问此日志的位置。像这样:

ini_set('error_log', __DIR__ . DIRECTORY_SEPARATOR . 'error.log');
#                    ^ full path with leading slash

如果您想备份文件,可以使用该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解释/扩展:

$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);