XCVII. Funções de Memória Compartilhada

Introdução

Shmop é um fácil caminho para usar funções que permitem o PHP ler, escrever, criar e deletar segmentos de memória compartilhada UNIX. Note que versões do Windows anteriores ao Windows 2000 não suportam memória compartilhada.

Nota: No PHP 4.0.3, estas funções estão prefixadas por shm ao invés de shmop.

Requisitos

Nenhuma biblioteca externa é necessária para compilar esta extensão.

Instalação

Para usar shmop você precisará compilar o PHP com o parâmetro --enable-shmop na seu configure.

Configuração durante execução

Esta extensão não define nenhum parâmetro de configuração no php.ini.

Tipos Resource

Constantes Predefinidas

Esta extensão não possui nenhuma constante.

Exemplos

Exemplo 1. Visão Geral de Operações de Memória Compartilhada

<?php
   
// Create 100 byte shared memory block with system id if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!
$shm_id) {
    echo
"Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo
"SHM Block Size: ".$shm_size. " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if(
$shm_bytes_written != strlen("my shared memory block")) {
    echo
"Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!
$my_string) {
    echo
"Couldn't read from shared memory block\n";
}
echo
"The data inside shared memory was: ".$my_string."\n";

//Now lets delete the block and close the shared memory segment
if(!shmop_delete($shm_id)) {
    echo
"Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);
   
?>

Índice
shmop_close -- Fecha um bloco de memória compartilhada
shmop_delete -- Deleta um bloco de memória compartilhada
shmop_open -- Cria ou abre um bloco de memória compartilhada
shmop_read -- Lê dados de um bloco de memória compartilhada
shmop_size -- Pega o tamanho do bloco de memória compartilhada
shmop_write -- Escreve dados em um bloco de memória compartilhada