wincache_lock

(PECL wincache >= 1.1.0)

wincache_lockAcquière un verrou exclusif sur une clé donnée

Description

bool wincache_lock ( string $key [, bool $isglobal = false ] )

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().

Avertissement

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 multi-processus, 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.

Liste de paramètres

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.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

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

Voir aussi

LoadingChargement en cours