shm_attach

(PHP 4, PHP 5)

shm_attachCrée ou ouvre un segment de mémoire partagée

Description

resource shm_attach ( int $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.

Historique

Version Description
5.3.0 La fonction retourne une ressource à la place d'un entier.

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

LoadingChargement en cours