Vous n'êtes pas sûr du verrouillage exclusif du verrouillage des fichiers PHP ?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 13:15:13
0
1
671

flock.php
<?php

$fp=fopen('lock.txt','a');

si (troupeau ($fp,LOCK_EX)){

  fwrite($fp," HHHHHHHHHHHHHH".time()."\r\n");

}

?>
flock2.php
<?php

$fp=fopen('lock.txt','a');

si (troupeau ($fp,LOCK_EX)){

  fwrite($fp," GGGGGGGGGGGGGG".time()."\r\n");

}

?>
Doute :
Pourquoi le fichier flock.php est-il verrouillé avec un verrou exclusif, mais le verrou n'est pas libéré et le fichier fclose n'est pas fermé. Mais lors de l’exécution du fichier flock2.php, il peut toujours être écrit.
Le verrou exclusif du verrou de fichier ne peut-il pas être écrit par d'autres processus après l'avoir verrouillé ? Puis-je réécrire uniquement lorsque le verrou est libéré ?

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

répondre à tous(1)
大家讲道理

php est terminé après l'exécution, les ressources sont libérées et le verrou sera libéré naturellement

Si vous souhaitez tester, ajoutez une boucle infinie à flock.php pour vous assurer qu'il ne se termine jamais, puis exécutez flock2.php pour voir l'effet

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal