(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.
keyID do sistema para o bloco de memória compartilhada. Pode ser passado como decimal ou hexadecimal.
modeAs 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.
sizeO 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().