Я хочу убедиться, что нет условий гонки, введенных с помощью пользовательского Обработчик ошибок PHP . С этой целью я хочу знать, могу ли я положиться на error_log () или мне нужно использовать какой-либо другой метод блокировки файлов, чтобы ошибки регистрировались правильно.
Как работает обработчик ошибок PHP по умолчанию Работа? Безопасно ли это в условиях гонки?
Например, нужно ли мне блокировать файл (что может привести к потере ошибок в этой простой версии)
function log_error($message)
{
if(! $fp = @fopen('/path/to/error.log', 'a'))
{
return FALSE;
}
flock($fp, LOCK_EX);
fwrite($fp, $message);
flock($fp, LOCK_UN);
fclose($fp);
return TRUE;
}
или я могу просто вызвать error_log?
error_log($message, 0);