У меня есть функция, которая отслеживает события, происходящие в сценарии.Стремясь эффективно использовать свои ресурсы, я решил сжать генерируемые ими данные.Тем не менее, я получаю эту ошибку:
Unknown error type: [2] gzuncompress() [function.gzuncompress]: data error
Вот функция:
function eventlog($type, $message){
// Types: account,run,queue,system
// Set up file name/location
$eventfile = '/myprivatedirectory/'.date('Ymd').$type.'.log';
if(file_exists($eventfile)){
while(!is_writable($eventfile)){clearstatcache();}
$fh_log = fopen($eventfile,'r+');
flock($fh_log, LOCK_EX);
$logcontents = gzuncompress(fread($fh_log,filesize($eventfile)));
rewind($fh_log);
ftruncate($fh_log, 0);
$logcompressed = gzcompress($logcontents.$message."\n");
fwrite($fh_log,$logcompressed);
flock($fh_log, LOCK_UN);
fclose($fh_log);
} else {
$fh_log = fopen($eventfile,'w');
flock($fh_log, LOCK_EX);
$logcompressed = gzcompress($message."\n");
fwrite($fh_log,$logcompressed);
flock($fh_log, LOCK_UN);
fclose($fh_log);
}
}
Так что каждый день, в полночь, создается новый журнал ошибок при возникновении любого из вышеуказанных событий (account, run, queue, system), в противном случае каждое новое событие добавляется в уважительный файл журнала.
Я бы хотел сохранить сжатие, но я не могу продолжать иметь эти ошибки, может кто-нибудь помочь?Заранее спасибо.