flock() 例子<?php$fp = fopen("/tmp/lock.txt", "w+");if (flock($fp, LOCK_EX)) { // 进行排它型锁定
    fwrite($fp, "Write something here\n");
    flock($fp, LOCK_UN); // 释放锁定
} else {
    echo "Couldn't lock the file !";
}fclose($fp);?>  
 

解决方案 »

  1.   

    可以模仿Mutex,在写log之前,建立一个临时文件,如果其他该临时文件存在则说明有人在写,出错退出,log记完之后删除该临时文件,一样可以解决冲突问题
      

  2.   

    谢谢楼上的兄弟,咱还是菜鸟现在,还不了解Mutex啊,通过判断是否存在这个临时文件才写日志吗?我想记录访客所有点击行为,不能使用出错退出,网站PV在日300W左右
    建立临时文件的做法效率好吗?再次表示感谢