XCIV. Funkce pro práci se sdílenou pamětí
Shmop snadno použitelná sada funkcí, která PHP umožňuje číst, zapisovat,
vytvářet a mazat segmenty UNIXové sdílené paměti. Tyto funkce na Windows
nefungují, protože tento systém nepodporuje sdílenou paměť. Pokud chcete
shmop používat, budete muset PHP zkompilovat s --enable-shmop.
Poznámka:
Názvy funkcí popisovaných v této kapitole začínají v PHP 4.0.3 na
shm_(), ale od PHP 4.0.4 se jejich názvy změnily na
shmop_().
Příklad 1. Přehled operací se sdílenou pamětí <?php
// Vytvořit 100 bytový blok sdílené paměti se system id 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
echo "Nepodařilo se vytvořit segment sdílené paměti\n";
}
// Zjistit velikost bloku sdílené paměti
$shm_size = shmop_size($shm_id);
echo "SHM blok o velikosti : ".$shm_size. " byl vytvořen.\n";
// Zapíšeme do sdílené paměti zkušební řetězec
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if($shm_bytes_written != strlen("můj blok sdílené paměti")) {
echo "Nepodařilo se zapsat kompletní data\n";
}
// Načteme řetězec zpátky
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
echo "Nepodařilo se číst z bloku sdílené paměti\n";
}
echo "Data ve sdílené paměti byla: ".$my_string."\n";
//Smažeme tento blok a zavřeme segment sdílené paměti
if(!shmop_delete($shm_id)) {
echo "Nepodařilo se smazat blok sdílené paměti.";
}
shmop_close($shm_id);
?> |
|