Безопасна ли функция PHP error_log () для использования?

Я хочу убедиться, что нет условий гонки, введенных с помощью пользовательского Обработчик ошибок 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);

17
задан Xeoncross 16 June 2011 в 17:49
поделиться