0

我有一个每小时更新一次的缓存文件。文件大小范围从 100KB 到 1MB。更新缓存的方式是使用 file_put_contents() 方法。

只有服务器写入文件。但是,可以连续访问该文件。用户通过一个脚本访问该文件,该脚本通过 readfile() 执行一次读取以将其回显给用户。

如果缓存脚本正在读取文件,并且服务器运行用户读取脚本,或者相反,会有问题吗?或者这是由 PHP 自动处理的>

4

1 回答 1

0

基本上,您应该在写入或读取时锁定文件。至少,它保证没有问题。这是好的编程方式!示例如下所示。

<?php

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, LOCK_EX)) { // do an exclusive lock
    fwrite($fp, "Write something here\n");
    flock($fp, LOCK_UN); // release the lock
} else {
    echo "Couldn't lock the file !";
}

fclose($fp);

?>

更多信息

于 2013-06-12T12:23:25.533 回答