Maison  >  Questions et réponses  >  le corps du texte

Vous n'êtes pas sûr du verrouillage exclusif du verrouillage des fichiers PHP ?

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é ?

曾经蜡笔没有小新曾经蜡笔没有小新2734 Il y a quelques jours660

répondre à tous(1)je répondrai

  • 大家讲道理

    大家讲道理2017-05-16 13:17:13

    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

    répondre
    0
  • Annulerrépondre