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

<?php

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

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

fclose($fp);

?>

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

posted on 2017-02-15 13:23  dongruiha  阅读(1582)  评论(0编辑  收藏  举报

导航