| (PHP 4 >= 4.0.4)
shmop_open - создаёт или открывает блок shared-памяти.
Описание
int shmop_open (int key, string flags, int mode, int size)
shmop_open() создаёт или открывает блок shared-памяти. shmop_open() принимает 4 параметра: key системный id для блока shared memory, этот параметр
может передаваться как 10-ричный или 16-ричный. Второй параметр это флаги: "a" для access/доступ (устанавливает SHM_RDONLY для shmat); используйте
этот флаг, если необходимо открыть существующий сегмент shared-памяти только
для чтения "c" для create/создать (устанавливает IPC_CREATE); используйте этот
флаг, если необходимо создать новый сегмент shared-памяти или, если сегмент
с тем же ключом уже существует, попытаться открыть его для чтения и записи "w" для доступа read & write/чтения и записи; используйте этот
флаг, если необходимо читать и записывать в сегмент shared-памяти;
используйте этот флаг в большинстве случаев "n" для создания нового сегмента памяти (устанавливает IPC_CREATE|IPC_EXCL);
используйте этот флаг, если хотите создать новый сегмент shared-памяти, но,
если он уже существует с тем же флагом, будет неудача. Это используется
только для целей обеспечения секретности.
Третий параметр mode это режим - разрешения, которые вы хотите назначить
вашему сегменту памяти, которые являются теми же, что и разрешения для файла.
Разрешения должны передаваться в 8-ричной форме, например, 0644. Последний
параметр size это размер в байтах блока shared-памяти, который вы хотите
создать.Примечание:
третий и четвёртый параметры должны вводиться как 0, если вы открываете
существующий сегмент памяти. При успехе shmop_open() возвратит id, который можно использовать для доступа к сегменту shared-памяти,
созданному вами.
Пример 1. Создание нового блока shared-памяти <?php
$shm_id = shmop_open(0x0fff, "c", 0644, 100);
?> |
|
Открывается блок shared-памяти с system id в 0x0fff. | |