Shmop es un conjunto de funciones que permiten a PHP leer, escribir, crear
y borrar de forma sencilla segmentos de memoria compartida de tipo UNIX. Se debe
tener en cuenta que las versiones de Windows anteriores a Windows 2000 no
soportan el uso de memoria compartida.
Nota:
En PHP 4.0.3, el nombre de todas estas funciones estaba precedido por el
prefijo shm y actualmente lo están por el
prefijo shmop.
Ejemplo 1. Resumen de las operaciones con Memoria Compartida
<?php
// Creacion de un segmento de memoria compartida de 100 bytes y con un // identificador igual a 0xff3 $shm_id = shmop_open(0xff3, "c", 0644, 100); if(!$shm_id) { echo "No se pudo crear el segmento de memoria compartida\n"; }
// Obtencion del tamaño del segmento de memoria compartida $shm_size = shmop_size($shm_id); echo "Segmento de memoria: se han reservado ".$shm_size. " bytes.\n";
// Escritura de una cadena de texto de prueba en la memoria compartida $shm_bytes_written = shmop_write($shm_id, "mi segmento de memoria compartida", 0); if($shm_bytes_written != strlen("mi segmento de memoria compartida")) { echo "No se pudo escribir todos los datos indicados\n"; }
// Lectura de la cadena de texto de prueba $my_string = shmop_read($shm_id, 0, $shm_size); if(!$my_string) { echo "No se pudo leer el segmento de memoria compartida\n"; } echo "Los datos que contenia el segmento de memoria compartida son los siguientes:".$my_string."\n";
// Borrado y eliminacion del segmento de memoria compartida if(!shmop_delete($shm_id)) { echo "No se pudo borrar el segmento de memoria compartida."; } shmop_close($shm_id);
?>
Tabla de contenidos
shmop_close -- Cierra un segmento de memoria compartida
shmop_delete -- Borra un segmento de memoria compartida
shmop_open -- Crea o abre un segmento de memoria compartida
shmop_read -- Lee un segmento de memoria compartida
shmop_size -- Obtiene el tamaño de un segmento de memoria compartida
shmop_write -- Escribe datos en un segmento de memoria compartida