<?php
a.php
$fp=fopen('a.log','w');
if(flock($fp,LOCK_EX)){
echo fread($fp,100);
flock($fp,LOCK_UN);
}else{
echo "lock...........";
}
fclose($fp);
b.php
$fp=fopen('a.log','w');
if(flock($fp,LOCK_EX)){
fwrite($fp,'aaa\n');
sleep(2);
fwrite($fp,'bbb\n');
flock($fp,LOCK_UN);
}
fclose($fp);
先执行b.php文件,然后在执行a.php文件.你会发现提示'lock.....'中!
以上结论就是,a.php 占用了a.log文件的独占锁.b.php就无法打开!
a.php
$fp=fopen('a.log','w');
if(flock($fp,LOCK_EX)){
echo fread($fp,100);
flock($fp,LOCK_UN);
}else{
echo "lock...........";
}
fclose($fp);
b.php
$fp=fopen('a.log','w');
if(flock($fp,LOCK_EX)){
fwrite($fp,'aaa\n');
sleep(2);
fwrite($fp,'bbb\n');
flock($fp,LOCK_UN);
}
fclose($fp);
先执行b.php文件,然后在执行a.php文件.你会发现提示'lock.....'中!
以上结论就是,a.php 占用了a.log文件的独占锁.b.php就无法打开!