首页 >函数列表 >shm_attach

shm_attach

shm_attach

(PHP 4, PHP 5)

shm_attachCreates or open a shared memory segment

说明

resource shm_attach ( int $key [, int $memsize [, int $perm = 0666 ]] )

shm_attach() returns an id that can be used to access the System V shared memory with the given key, the first call creates the shared memory segment with memsize and the optional perm-bits perm.

A second call to shm_attach() for the same key will return a different shared memory identifier, but both identifiers access the same underlying shared memory. memsize and perm will be ignored.

参数

key

A numeric shared memory segment ID

memsize

The memory size. If not provided, default to the sysvshm.init_mem in the php.ini, otherwise 10000 bytes.

perm

The optional permission bits. Default to 0666.

返回值

Returns a shared memory segment identifier.

更新日志

版本 说明
5.3.0 This function now returns a 资源(resource) instead of an integer.

注释

Note:

This function used to return an integer value prior to PHP 5.3.0. To achieve the same value in a portable manner, the return value can be cast to an integer like:

<?php
// Create a temporary file and return its path
$tmp tempnam('/tmp''PHP');

// Get the file token key
$key ftok($tmp'a');

// Attach the SHM resource, notice the cast afterwards
$id shm_attach($key);

if (
$id === false) {
    die(
'Unable to create the shared memory segment');
}

// Cast to integer, since prior to PHP 5.3.0 the resource id 
// is returned which can be exposed when casting a resource
// to an integer
$id = (integer) $id;
?>

参见

  • shm_detach() - Disconnects from shared memory segment
  • ftok() - Convert a pathname and a project identifier to a System V IPC key

  • ftok
  • msg_get_queue
  • msg_queue_exists
  • msg_receive
  • msg_remove_queue
  • msg_send
  • msg_set_queue
  • msg_stat_queue
  • sem_acquire
  • sem_get
  • sem_release
  • sem_remove
  • shm_attach
  • shm_detach
  • shm_get_var
  • shm_has_var
  • shm_put_var
  • shm_remove
  • shm_remove_var
  • PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道