. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . |
|
|
shmop
CXLVIII. Mémoire partagée
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.
Ces fonctions sont disponibles dans le module PHP
standard, qui est toujours accessible.
Pour utiliser les fonctions shmop, compilez PHP avec l'option
--enable-shmop.
Cette extension ne définit aucune directive de
configuration. Cette extension ne définit aucune constante.
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ée
- shmop_delete -- Détruit un bloc de mémoire partagée
- shmop_open -- Crée ou ouvre un bloc de mémoire partagée
- shmop_read -- Lit des données à partir d'un bloc
- shmop_size -- Lire la taille du bloc de mémoire partagée
- shmop_write -- Ecrire dans un bloc de mémoire partagée
Retour au chapitre Php
|
|