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

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

<?php

// Создание блока с идентификатором 0xff3 и размером в 100 байт.
$shm_id = shmop_open(0xff3, "c", 0644, 100);
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_id, 0, $shm_size);
if (!
$my_string) {
echo
"Невозможно прочитать данные из блока памяти\n";
}
echo
"Данные, размещённые в разделяемой памяти: " . $my_string . "\n";

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

?>
To Top