我想创建一个简单的方法来将字符串写入日志文件,并且由于文件可能同时由不同的 Web 服务器进程写入,因此原子性需要文件锁定。
例如
function log_to_file($message)
{
$fp = fopen("/tmp/lock.txt", "r+");
while (!flock($fp, LOCK_EX)) {
sleep(1); // Sleep for 1 second and try again
}
fwrite($fp, $message);
fflush($fp);
flock($fp, LOCK_UN); // release the lock
fclose($fp);
}
上面的代码有问题吗?