(PHP 4, PHP 5, PHP 7)
shm_attach — Crée ou ouvre un segment de mémoire partagée
$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.
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.
Retourne un identifiant de mémoire partagée.
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;
?>