sem_remove
shm_detach
Fonctions Sémaphore
PHP Manual

# shm_attach

(PHP 4, PHP 5)

shm_attach — Cré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

sem_remove
shm_detach
Fonctions Sémaphore
PHP Manual