flock.php
<?php
$fp=fopen('lock.txt','a');
if (flock($fp,LOCK_EX)){
fwrite($fp," HHHHHHHHHHHHHH".time()."\r\n");
}
?>
flock2.php
<?php
$fp=fopen('lock.txt','a');
if (flock($fp,LOCK_EX)){
fwrite($fp," GGGGGGGGGGGGGG".time()."\r\n");
}
?>
疑惑:
為什麼flock.php檔案裡用排它鎖鎖住檔案了,並沒有釋放鎖定也沒有關閉fclose檔案。但是執行flock2.php 檔案時,還能寫入啊。
檔案鎖的排它鎖不是鎖住後其他行程不能寫入了嗎。只有等釋放鎖才能再次寫入嗎?
php 執行完就結束了,釋放資源了,自然就會釋放鎖
你要測試的話,flock.php 加個死循環,確保永不退出,在執行 flock2.php 看看效果