shm_attach
(PHP 4, PHP 5, PHP 7)
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.
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
Version en cache
22/11/2024 06:36:13 Cette version de la page est en cache (à la date du 22/11/2024 06:36:13) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.shm-attach.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.