Учебник РНР
Назад Вперёд

XCIII. Функции Shared Memory

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\n"; } // Получить размер блока shared memory $shm_size = shmop_size($shm_id); echo "SHM Block Size: ".$shm_size. " has been created.\n"; // Запишем тестовой строки в 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\n"; } // Теперь прочитаем строку $my_string = shmop_read($shm_id, 0, $shm_size); if(!$my_string) { echo "Couldn't read from блок shared memory\n"; } echo "The data inside shared memory was: ".$my_string."\n"; // А теперь удалим блок и закроем сегмент shared memory if(!shmop_delete($shm_id)) { echo "Couldn't mark блок shared memory for deletion."; } shmop_close($shm_id); ?>
Содержание
shmop_close - закрывает блок shared memory
shmop_delete - удаляет блок shared memory
shmop_open - создаёт или открывает блок shared memory
shmop_read - читает данные из блока shared memory
shmop_size - получает размер блока shared memory
shmop_write - записывает данные в блок shared memory

Назад Оглавление Вперёд
session_write_close Вверх shmop_close