Introducción
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.
Requerimientos
No se necesitan bibliotecas externas
para construir esta extensión
Instalación
Para usar las funciones de memoria compartida, se debe añadir el
parámetro --enable-shmop a las
opciones de configuración de PHP.
Configuración en tiempo de
ejecución
Esta extensión no tiene directivas de
configuración en php.ini.
Constantes predefinidas
Esta extensión no tiene ninguna
constante definida.
Ejemplos
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); ?>
|
|