shm_attach
(PHP 4, PHP 5)
shm_attach — Crée ou ouvre un segment de mémoire partagée
Description
$key
[, int $memsize
[, int $perm
= 0666
]] )
shm_attach() retourne un identifiant qui
permettra d'accéder à la mémoire partagée de type System V.
Au premier appel, la mémoire sera
créée, avec la taille memsize
et avec les permissions perm
Aux appels suivants avec la même clé
key
, shm_attach()
retournera un nouvel identifiant, mais cet identifiant
accédera toujours à la même portion de
mémoire partagée. Dans ce cas, memsize
et perm
seront ignorés.
Liste de paramètres
-
key
-
Un identifiant numérique de la mémoire partagée
-
memsize
-
La taille mémoire. S'il n'est pas fourni, vaut par défaut la valeur de sysvshm.init_mem du fichier php.ini, sinon 10000 octets.
-
perm
-
Les permissions (optionnelles). Par défaut, vaut 0666.
Valeurs de retour
Retourne un identifiant de mémoire partagée.
Notes
Note:
Puisque cette fonction retourne un entier avant PHP 5.3.0, pour assurer la portabilité, le retour de la fonction peut être casté en entier:
<?php // Crée un fichier temporaire et retourne son chemin $tmp = tempnam('/tmp', 'PHP'); // Récupère le jeton du fichier $key = ftok($tmp, 'a'); // Attache la ressource SHM resource, notez le cast après $id = shm_attach($key); if($id === false) { die('Unable to create the shared memory segment'); } // Cast vers l'entier, car depuis PHP 5.3.0 l'id de ressource // est retourné et il peut être utilisé pour le cast en entier $id = (integer) $id; ?>
Voir aussi
- shm_detach() - Libère un segment de mémoire partagée
- ftok() - Convertit un chemin et un identifiant de projet en une clé System V IPC