我想确保没有通过使用a custom PHP error handler引入的竞争条件。为此,我想知道是否可以依赖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);
https://stackoverflow.com/questions/6375809
复制相似问题