(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.
key
Un ID numérico de segmento de memoria compartida
memsize
El 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.
perm
Los 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;
?>