shm_attach

(PHP 4, PHP 5, PHP 7)

shm_attachCrea o abre un segmento de memoria compartida

Descripción

shm_attach ( int $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.

Parámetros

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.

Valores devueltos

Devuelve un identificador de segmento de memoria compartida.

Historial de cambios

Versión Descripción
5.3.0 Esta función ahora devuelve un recurso en vez de un integer.

Notas

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;
?>

Ver también

  • shm_detach() - Desconectarse del segmento de memoria compartida
  • ftok() - Convertir un nombre de ruta y un identificador de proyecto a una clave IPC de System V