   #PHP Manual Shared Memory Functions shmop_delete shmop_read

   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 SHM_RDONLY for shmat) use this flag when you
       need to open an existing shared memory segment for read only
     * "c" for create (sets IPC_CREATE) use this flag when you need to
       create a new shared memory segment or if a segment with the same
       key exists, try to open it for read and write
     * "w" for read & write access use this flag when you need to read
       and write to a shared memory segment, use this flag in most cases.
     * "n" create a new memory segment (sets IPC_CREATE|IPC_EXCL) use
       this flag when you want to create a new shared memory segment but
       if one already exists with the same flag, fail. This is useful for
       security purposes, using this you can prevent race condition
       exploits.

   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_key = ftok(__FILE__, 't');
   $shm_id = shmop_open($shm_key, "c", 0644, 100);
   ?>

   This example opened a shared memory block with a system id returned by
   ftok().
   ______________________________________________________________________

   Prev         Home       Next
   shmop_delete  Up  shmop_read
