3v4l.org

run code in 300+ PHP versions simultaneously
<?php $this->error_reporting(E_ALL, true); $profilings=array(microtime(true)); $filename='/tmp/mutex_kv-lock2.lock'; $fo =fopen($filename, 'w'); $result=flock($fo, LOCK_EX | LOCK_NB, $ref); $r1 =flock($fo, LOCK_UN); $r2 =fclose($fo); var_dump($fo,$result,$r1,$r2,$ref);echo "\r\n"; $fo =fopen($filename, 'w+'); $r0 =flock($fo, LOCK_EX, $ref); $r4 =fwrite($fo, (float)$_SERVER['REQUEST_TIME_FLOAT']."\n"); $r1 =flock($fo, LOCK_UN); $r2 =fclose($fo); var_dump($fo,$r0,$r4,$r1,$r2,$ref);echo "\r\n"; unset($fo, $r1, $r2, $r0); sleep(2); $profilings[]=microtime(true); echo ($profilings[1]-$profilings[0]).'<br/>'.(float)$_SERVER['REQUEST_TIME_FLOAT'].'<br/>'.$profilings[0].'<br/>'; echo 'pid='.posix_getpid().'<br/>'; ?>

preferences:
20.76 ms | 402 KiB | 5 Q