(PHP 4, PHP 5, PHP 7)
shm_attach — Crea o abre un segmento de memoria compartida
$key
[, int $memsize
[, int $perm = 0666
]] ) : resource
shm_attach() devuelve un id que se puede usar para acceder
a la memoria compartida de System V con la clave dada por key, la
primera llamada crea el segmento de memoria compartida con
memsize y los permisos opcionales a nivel de bits
perm.
Una segunda llamada a shm_attach() para la misma clave dada por
key devolverá un identificador de memoria
diferente, pero ambos identificadores acceden a la misma memoria compartida
subyacente. memsize y
perm serán ignorados.
keyUn ID numérico de segmento de memoria compartida
memsizeEl tamaño de la memoria. Si no se proporciona, por defecto es el valor de sysvshm.init_mem del php.ini, de otro modo es 10000 bytes.
permLos bits de permiso opcionales. Por defecto es 0666.
Devuelve un identificador de segmento de memoria compartida.
| Versión | Descripción |
|---|---|
| 5.3.0 | Esta función ahora devuelve un recurso en vez de un integer. |
Nota:
Esta función solía devolver un valor integer antes de PHP 5.3.0. Para obtener el mismo valor de un modo portable, el valor devuelto puede ser convertido a un integer:
<?php
// Crear un fichero temporal y devolver su ruta
$tmp = tempnam('/tmp', 'PHP');
// Obtener la clave de token del fichero
$key = ftok($tmp, 'a');
// Adjuntar el recurso SHM, observe la conversión después
$id = shm_attach($key);
if ($id === false) {
die('No se pudo crear el segmento de memoria compartida');
}
// Convertir a integer, ya que antes de PHP 5.3.0 se devuelve
// el id del recurso, el cual puede ser expuesto cuando se convierte un recurso
// en un integer
$id = (integer) $id;
?>