PHP 文件处理,可能的数据损坏
PHP file processing, possible data corruption
我有一个由 3 行组成的文件。
第一个 行是一个数据串。 second 是 number 而 third 是另一个 number.
在同时有两个PHP脚本运行。首先是在第一行和第三行写入数据。二是写第二行数据,正在读第一行
这会导致数据损坏吗,因为这两个脚本永远不会写在同一个地方?
如果脚本 A 将数据写入第一行,而脚本 B 当前正在读取数据,那么您最终可能确实会得到该行的损坏数据。发生这种情况的可能性取决于这些操作的频率。很可能是苗条的。但理论上,这可能会发生。
最简单的防范方法是使用
您写入文件的脚本在写入文件时必须获取独占锁。读取文件的脚本必须检查文件当前是否被锁定。如果是,脚本可以等待文件再次释放。
请注意,此方法假定文件只会被这两个 PHP 脚本更改。
我有一个由 3 行组成的文件。 第一个 行是一个数据串。 second 是 number 而 third 是另一个 number.
在同时有两个PHP脚本运行。首先是在第一行和第三行写入数据。二是写第二行数据,正在读第一行
这会导致数据损坏吗,因为这两个脚本永远不会写在同一个地方?
如果脚本 A 将数据写入第一行,而脚本 B 当前正在读取数据,那么您最终可能确实会得到该行的损坏数据。发生这种情况的可能性取决于这些操作的频率。很可能是苗条的。但理论上,这可能会发生。
最简单的防范方法是使用
您写入文件的脚本在写入文件时必须获取独占锁。读取文件的脚本必须检查文件当前是否被锁定。如果是,脚本可以等待文件再次释放。
请注意,此方法假定文件只会被这两个 PHP 脚本更改。