XCI. Shared Memory Functions
Shmop is an easy to use set of functions that allows php to read, write, create and delete
UNIX shared memory segments. The functions will not work on windows, as it does not support shared
memory. To use shmop you will need to compile php with the --enable-shmop parameter in your
configure line.
Note: This module is experimental. API and others are subject to be changed without
notice.
In PHP 4.0.3, there functions were prefixed by shm rather than
shmop.
|
Example 1. Shared Memory Operations Overview
<?php
// Create 100 byte shared memory block with system id if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!$shm_id) {
echo "Couldn't create shared memory segment\n";
}
// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: ".$shm_size. " has been created.\n";
// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if($shm_bytes_written != strlen("my shared memory block")) {
echo "Couldn't write the entire length of data\n";
}
// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!$my_string) {
echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: ".$my_string."\n";
//Now lets delete the block and close the shared memory segment
if(!shmop_delete($shm_id)) {
echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);
?>
|
|
- Table of Contents
- shmop_open -- Create or open shared memory
block
- shmop_read -- Read data from shared memory
block
- shmop_write -- Write data into shared memory
block
- shmop_size -- Get size of shared memory
block
- shmop_delete -- Delete shared memory
block
- shmop_close -- Close shared memory block
|