Manuel PHP

Table des matières

Préface
I. Au moment de commencer
II. Installation et configuration
III. Référence du langage
IV. Sécurité
V. Caractéristiques
VI. Référence des fonctions
VII. PHP et le moteur interne Zend
VIII. FAQ : foire Aux Questions
IX. Annexes
Remerciements



CXLVIII. Mémoire partagée

Introduction

Shmop est un ensemble de fonctions simples pour gérer la mémoire partagée avec PHP (lecture, écriture, création et suppression de segments de mémoire partagée UNIX).

Note : Les versions de Windows plus anciennes que Windows 2000 ne supportent pas la mémoire partagée. Sous Windows, Shmop ne fonctionnera que si PHP fonctionne comme module de serveur web, comme Apache ou IIS (CLI et CGI ne fonctionneront pas).
Note : En PHP 4.0.3, ces fonctions étaient préfixées avec “shm” au lieu de “shmop”.

Pré-requis

Ces fonctions sont disponibles dans le module PHP standard, qui est toujours accessible.

Installation

Pour utiliser les fonctions shmop, compilez PHP avec l’option “–enable-shmop”.

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Constantes pré-définies

Cette extension ne définit aucune constante.

Exemples

Exemple 1. Introduction à la mémoire partagée

<?php
   
// Crée 100 octets de mémoire partagée avec un identifiant système "0xff3"
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
  echo "Impossible de créer la mémoire partagée\n";
}
 
// Lire la taille de la mémoire partagée
$shm_size = shmop_size($shm_id);
echo "Un bloc de SHM de taille " . $shm_size . " a été créé.\n";
 
// Ecriture d'une chaîne de test dans ce segment
$shm_bytes_written = shmop_write($shm_id, "Mon bloc de mémoire partagée", 0);
if ($shm_bytes_written != strlen("Mon bloc de mémoire partagée")) {
  echo "Impossible d'écrire toutes les données en mémoire\n";
}
 
// Lecture du segment
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
  echo "Impossible de lire toutes les données en mémoire\n";
}
echo "Les données mises en mémoire partagées sont : " . $my_string . "\n";
 
// Maintenant, effaçons le bloc, et fermons le segment de mémoire
if(!shmop_delete($shm_id)) {
  echo "Impossible d'effacer le segment de mémoire";
}
shmop_close($shm_id);
   
?>

Table des matières

shmop_close – Ferme un bloc de mémoire partagéeshmop_delete – Détruit un bloc de mémoire partagéeshmop_open – Crée ou ouvre un bloc de mémoire partagéeshmop_read – Lit des données à partir d’un blocshmop_size – Lire la taille du bloc de mémoire partagéeshmop_write – Ecrire dans un bloc de mémoire partagée

Travail collaboratif

Contribuez, en ajjoutant des elements a cette page de manuel :

Merci de votre aide
L’equipe Php.fr

 


Index | Afficher le texte source | Anciennes révisions | Derniers changements | Connexion
©2007 Wiki Copyright