(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
shmop_open — Cria ou abre um bloco de memória compartilhada
shmop_open() pode criar ou abrir um bloco de memória compartilhada.
key
ID do sistema para o bloco de memória compartilhada. Pode ser passado como decimal ou hexadecimal.
mode
As opções que podem ser usadas:
permissions
As permissões a atribuir ao segmento de memória,
as mesmas das permissões de um arquivo. As permissões precisam ser passadas
em formato octal, como por exemplo 0644
.
size
O tamanho do bloco de memória compartilhada a ser criado, em bytes.
Nota:
Nota: o 3º e o 4º parâmetros devem ser informados como 0 se um segmento de memória existente estiver sendo aberto.
Em caso de sucesso, shmop_open() retornará uma instância de Shmop que
pode ser usada para acessar o segmento de memória compartilhada criado. false
é
retornado em caso de falha.
Se mode
for inválido ou size
for menor ou igual a zero,
um ValueError será lançado.
Em outras falhas, E_WARNING
será emitido.
Versão | Descrição |
---|---|
8.0.0 | Em caso de sucesso, esta função agora retorna uma instância de Shmop; anteriormente, retornava um resource. |
8.0.0 |
Se mode for inválido ou size for menor ou igual a zero,
um ValueError é lançado; anteriormente, era emitido um E_WARNING
e a função retornava false .
|
Exemplo #1 Cria um novo bloco de memória compartilhada
<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>
Este exemplo abriu um bloco de memória compartilhada com um ID do sistema retornado por ftok().