Базовое использование


Пример #1 Обзор операций с разделяемой памятью

<?php
   
// Создание блока с идентификатором 0xff3 и размером в 100 байт.
$shm_id shmop_open(0xff3"c"0644100);
if (!
$shm_id) {
    echo 
"Невозможно зарезервировать блок в сегменте памяти\n";
}

// Получение размера блока в разделяемой памяти
$shm_size shmop_size($shm_id);
echo 
"Участок памяти, размером: " $shm_size ", успешно зарезервирован.\n";

// Проверочная запись некоторой строки в разделяемую память
$shm_bytes_written shmop_write($shm_id"Мой маленький блок"0);
if (
$shm_bytes_written != strlen("Мой маленький блок")) {
    echo 
"Не удалось записать весь размер данных\n";
}

// Получение хранимой строки из разделяемой памяти
$my_string shmop_read($shm_id0$shm_size);
if (!
$my_string) {
    echo 
"Невозможно прочитать данные из блока памяти\n";
}
echo 
"Данные, размещенные в разделяемой памяти: " $my_string "\n";

// Удаление блока и закрытие сегмента разделяемой памяти
if (!shmop_delete($shm_id)) {
    echo 
"Невозможно отметить участок памяти для освобождения.";
}
shmop_close($shm_id);
   
?>