|
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
|
|