PHP Manual
Prev |  | Next

# shmop_open

(PHP 4 >= 4.0.4)

shmop_open -- Create or open shared memory block

## Description

``int shmop_open` (int key, string flags, int mode, int size)`

shmop_open() can create or open a shared memory block.

shmop_open() takes 4 parameters: key, which is the system's id for the shared memory block, this parameter can be passed as a decimal or hex. The second parameter are the flags that you can use:

- "a" for access (sets IPC_EXCL) use this flag when you need to open an existing shared memory segment

- "c" for create (sets IPC_CREATE) use this flag when you need to create a new shared memory segment.

The third parameter is the mode, which are the permissions that you wish to assign to your memory segment, those are the same as permission for a file. Permissions need to be passed in octal form ex. 0644. The last parameter is size of the shared memory block you wish to create in bytes.

> Note: Note: the 3rd and 4th should be entered as 0 if you are opening an existing memory segment. On success shmop_open() will return an id that you can use to access the shared memory segment you've created.

Example 1. Create a new shared memory block
    <?php
    $shm_id = shmop_open(0x0fff, "c", 0644, 100);
    ?>

This example opened a shared memory block with a system id of 0x0fff.

Prev | Home | Next
Shared Memory Functions | Up | shmop_read