Shmop это набор легко используемых функций, позволяющих РНР читать ,
записывать, создавать и удалять сегменты совместно используемой памяти UNIX
shared memory). Функции не будут работать в Windows,
так как эти ОС не поддерживают shared-память. Для использования shmop вам
нужно скомпилировать РНР с параметром --enable-shmop в строке конфигурации.
Примечание: d PHP 4.0.3 эти функции имели префикс shm вместо shmop.
Пример 1. Обзор операций Shared Memory
<?php
// Создать 100-байтный блок shared memory с системным id if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
echo "Couldn’t create shared memory segment
";
}
// Получить размер блока shared memory
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: ".$shm_size. " has been created.
";
// Запишем тестовой строки в shared memory
$shm_bytes_written = shmop_write($shm_id, "my блок shared memory", 0);
if($shm_bytes_written != strlen("my блок shared memory")) {
echo "Couldn’t write the entire length of data
";
}
// Теперь прочитаем строку
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
echo "Couldn’t read from блок shared memory
";
}
echo "The data inside shared memory was: ".$my_string."
";
// А теперь удалим блок и закроем сегмент shared memory
if(!shmop_delete($shm_id)) {
echo "Couldn’t mark блок shared memory for deletion.";
}
shmop_close($shm_id);
?>