我是靠谱客的博主 瘦瘦跳跳糖,最近开发中收集的这篇文章主要介绍php 文件锁flock使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

$pid = posix_getpid();
try {
    #$fp = new SplFileObject("./flock.pid", "w+");
    $fp = fopen("./flock.pid", 'r+');
    echo print_r($fp, true).PHP_EOL;


    echo "is_resource:".json_encode(is_resource($fp)).PHP_EOL;
    echo "pid:".$pid.PHP_EOL;
    $bRet = flock($fp, LOCK_EX | LOCK_NB, $wblock);
    echo "{$pid}| sleep(5) ....".PHP_EOL;
    sleep(5);
    echo "{$pid}|bRet:".json_encode($bRet)."|wblock:".json_encode($wblock).PHP_EOL;
    if($bRet) {
        fwrite($fp, "pid:".posix_getpid());
    }
    fclose($fp);


    echo "is_resource:".json_encode(is_resource($fp)).PHP_EOL;
    $bRet = flock($fp, LOCK_EX | LOCK_NB, $wblock);
    echo "{$pid}| sleep(5) ....".PHP_EOL;






    echo "sleep(5) 2 ...".PHP_EOL;
    sleep(5);

    fwrite($fp, "pid:".posix_getpid());

 fflush($fp);            // flush output before releasing the lock
 
flock($fpLOCK_UN);

    echo print_r($fp, true).PHP_EOL;
    echo "{$pid} | done ...".PHP_EOL;
} catch(Exception $err) {
    echo "{$pid}|Exception:".$err->getMessage().PHP_EOL;

}


未设置LOCK_NB 则wblock返回0 

flcose($fp) 后 fwrite和flock都会报warning错误 且flock返回false wblock返回”“



最后

以上就是瘦瘦跳跳糖为你收集整理的php 文件锁flock使用的全部内容,希望文章能够帮你解决php 文件锁flock使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部