$result = file_put_contents($file, $data, FILE_APPEND);
if ($result === false) {
echo "This should never happen";
}
当然,没有什么是可以保证的,但是如果我在每个请求中使用上述内容来记录某些内容,它们会全部完成吗?
忽略硬件和配置问题,这不是我关心的问题。
我关心的是PHP如何如此频繁地处理对一个文件的写入。
如果我每秒有数千个请求怎么办?
我不想要任何形式的文件锁定,我希望每个函数调用都注册并附加到一个文件中。
问这个问题的正确方法:file_put_contents保证是原子的吗?
几乎可以肯定不是,因为你可以写一些相当大的条纹。您将需要使用 flock((,或者使用更专业的日志记录系统。