shmop_open
shmop_open
(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-памяти, но, если он уже существует с тем же флагом, будет неудача. Это используется только для целей обеспечения секретности.
Примечание: третий и четвёртый параметры должны вводиться как 0, если вы открываете существующий сегмент памяти. При успехе shmop_open() возвратит id, который можно использовать для доступа к сегменту shared-памяти, созданному вами.
Пример 1. Создание нового блока shared-памяти
|
Открывается блок shared-памяти с system id в 0x0fff.