欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

一定并发量下,在硬盘上写入文件

程序员文章站 2022-03-21 20:10:06
...
= $max_size) {
            $new_log_file = '/logs/error_' . date('YmdHis') . '.log';
            rename($log_file, $new_log_file);
        }
    }
 
    $fp=fopen($log_file,'a+');
    if($fp){
        $startTime=microtime();
        do{
            // 这个循环可以保证进程在尝试1m后,如果未能锁定文件,则放弃写入日志的操作
            $canWrite=flock($fp,LOCK_EX);
            if(!$canWrite){
                usleep(round(rand(0,100)*1000));
            }
        }while((!$canWrite)&&((microtime()-$startTime)