Manuel PHP
Précédent |  | Suivant

# XCVIII. 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 suppressions 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édefinies

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 mis 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);
?>`

Précédent | Sommaire | Suivant
session_write_close | Niveau supérieur | shmop_close