shm_get_var

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_get_varВозвращает переменную из разделяемой памяти

Описание

shm_get_var(SysvSharedMemory $shm, int $key): mixed

shm_get_var() возвращает переменную по ключу key в указанном сегменте разделяемой памяти. Переменная всё ещё присутствует в разделяемой памяти.

Список параметров

shm

Сегмент разделяемой памяти, полученный из shm_attach().

key

Ключ переменной.

Возвращаемые значения

Возвращает переменную с заданным ключом.

Список изменений

Версия Описание
8.0.0 shm теперь ожидает экземпляр SysvSharedMemory; ранее ожидался ресурс (resource).

Смотрите также

  • shm_has_var() - Проверяет, существует ли конкретная запись
  • shm_put_var() - Вставляет или обновляет переменную в разделяемой памяти

Добавить

Примечания пользователей 1 note

up
2
ricardophp at yahoo dot com dot br
16 years ago
A fully functional sample  ...

<?php
echo "<PRE>\n";

define("FOPEN_RESOURCE", 1);

$shm_id = shm_attach(FOPEN_RESOURCE);
if ($shm_id === false) {
    exit("Fail to attach shared memory.\n");
}

$fopen_resource = fopen("/tmp/phpSharedMemory.bin", "w");

$a =  array("Teste1", 1);
if (!shm_put_var($shm_id, $a, $a)) {
    exit("Failed to put var 1 in shared memory $shm_id.\n");
}

echo "F: ".$a[0].":".$a[1]."\n";
$pid = pcntl_fork();

if($pid == -1) {
  die("could not fork\n");
}
else if ($pid) {
    $a = array("Teste2", 3);
    if (!shm_put_var($shm_id, $a, $a)) {
        exit("Failed to put var 1 in shared memory $shm_id.\n");
    }
    echo "P1: ".$a[0].":".$a[1]."\n";
} else {
    sleep(2);
    $a = shm_get_var($shm_id, $a);
    echo "P2: ".$a[0].":".$a[1]."\n";
}
pcntl_wait($status);
exit();
?>
To Top