PHP 解决多进程同时写一个文件的问题

341 5月之前 PHP 多进程

答案

解决方法:给文件加锁

function write($str)
{
    $fp = fopen($file, 'a');
    do {
        usleep(100);
    } while (!flock($fp, LOCK_EX));

    fwrite($fp, $str . PHP_EOL);
    flock($fp, LOCK_UN);
    fclose($fp);
}