(PHP 4, PHP 5, PHP 7, PHP 8)
shm_get_var — Returns a variable from shared memory
shm_get_var() returns the variable with a given
key
, in the given shared memory segment.
The variable is still present in the shared memory.
Returns the variable with the given key.
Version | Description |
---|---|
8.0.0 |
shm expects a SysvSharedMemory
instance now; previously, a resource was expected.
|
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();
?>