php利用文件进行排他型锁定,防止并发

<?php

$fp = fopen('/tmp/file.lock', "a+");

if(flock($fp, LOCK_EX)) { //进行排他型锁定
    
    fwrite($fp, "lock success
");
    fflush($fp); //flush output before releasing the lock
    flock($fp, LOCK_UN); //释放锁定
    
} else {
    echo "文件正在被其他进程占用";
}

fclose($fp);

?>

 注意:据说函数flock无法在NFS或其他网络文件系统中使用也无法在多线程服务器API中使用。

原文地址:https://www.cnblogs.com/dongruiha/p/6401023.html