Verwirrt über die exklusive Sperre der PHP-Dateisperre?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 13:15:13
0
1
697

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");

}

?>
Zweifel:
Warum ist die Datei flock.php mit einer exklusiven Sperre gesperrt, die Sperre wird jedoch nicht aufgehoben und die Datei fclose wird nicht geschlossen. Beim Ausführen der Datei flock2.php kann sie jedoch weiterhin geschrieben werden.
Kann die exklusive Sperre der Dateisperre nach dem Sperren nicht von anderen Prozessen geschrieben werden? Kann ich erst wieder schreiben, wenn die Sperre aufgehoben wird?

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(1)
大家讲道理

php 执行完就结束了,释放资源了,自然就会释放锁

你要测试的话,flock.php 加个死循环,确保永不退出,在执行 flock2.php 看看效果

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage