如果我在设置了FILE_APPEND
标志的情况下通过file_put_contents
将数据写入文件,并且两个用户同时提交数据,它是否会添加数据,或者是否会有一个条目被覆盖的可能性?
如果我设置了LOCK_EX
标志,第二次提交是等待第一次提交完成,还是当无法获得独占锁时数据丢失?
PHP通常是如何处理的?我运行的是5.2.9版本。如果这很重要的话。
谢谢你,莱恩
发布于 2011-01-14 00:45:18
您还可以检查flock函数以实现适当的锁定(而不是基于while / sleep技巧)
发布于 2011-01-14 00:39:06
如果您通过LOCK_EX
设置独占文件锁,则尝试写入的第二个脚本(按时间)将从file_put_contents返回false。
即:它不会坐着等待,直到文件可供写入。
因此,如果需要,您需要自己编写此行为的程序,可能是尝试使用file_put_contents a limited次数(例如:3次),并在每次尝试之间使用适当大小的sleep。
https://stackoverflow.com/questions/4682533
复制相似问题