Forum und email

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.

Dependências

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ções em execução

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

Tipos Resource

Constantes pré-definidas

Esta extensão não possui nenhuma constante.

Exemplos

Example#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"0644100);
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_id0$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