The external link was off and the backslash "\" most of time are used for "scape character". Anyway, regards.
(PECL wincache >= 1.1.0)
wincache_lock — Acquière un verrou exclusif sur une clé donnée
Obtient un verrou exclusif sur une clé donnée. L'exécution du script courant sera bloqué tant que le verrou ne pourra pas être obtenu. Une fois le verrou obtenu, les autres scripts tentant de requérir le verrou en utilisant la même clé seront bloqués, tant que le script courant n'aura pas libéré le verrou en utilisant la fonction wincache_unlock().
L'utilisation de la fonction wincache_lock() et de la fonction wincache_unlock() peut conduire à des verrous morts lors de l'exécution de scripts PHP sur des environnements multiprocessus, comme FastCGI. N'utilisez pas ces fonctions tant que vous n'êtes pas absolument certain d'en avoir besoin. Pour la majorité des opérations sur le cache utilisateur, il n'est pas nécessaire de les utiliser.
key
Nom de la clé du cache dont nous souhaitons obtenir un verrou.
isglobal
Contrôle si le contexte du verrou est local ou au niveau système. Les verrous locaux ont un contexte au niveau applicatif dans le cas de l'utilisation sous IIS Fast CGI ou au niveau de tous les processus PHP qui ont le même identifiant parent de processus.
Exemple #1 Exemple avec wincache_lock()
<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // obtient un verrou exclusif
ftruncate($fp, 0); // tronque le fichier
fwrite($fp, "On écrit quelque chose ici\n");
wincache_unlock(“lock_txt_lock”); // libère le verrou
} else {
echo "Impossible d'obtenir le verrou !";
}
fclose($fp);
?>
The external link was off and the backslash "\" most of time are used for "scape character". Anyway, regards.
User should be aware that character '\' is not allowed as part of lock name. The reason why backslash is not allowed is because we are using CreateMutex call as described at http://msdn.microsoft.com/en-us/library/ms682411(VS.85).aspx. As per this article third parameter cannot have '\' character which is the lock name.
This means below code will not work.
<?php
$ret_val = wincache_lock("C:\WINDOWS\Temp/cache");
echo $ret_val . '<br>';
$ret_val = wincache_unlock("C:\WINDOWS\Temp/cache");
echo $ret_val . '<br>';
?>