Fury-Tech Logo
Home  News  Articles  Reviews  Guides  Resources  Forums 
Fury-Tech // Technology news, hardware and game reviews, guides, articles, and resources   
Search:



There are currently 0 members and 27 guests browsing on Fury-Tech.


Join our community in the tech forums for uncut technology discussion.

CXII. Shared Memory Functions


Introduction


Shmop is an easy to use set of functions that allows PHP to read, write, create and delete Unix shared memory segments.

Note: Versions of Windows previous to Windows 2000 do not support shared memory. Under Windows, Shmop will only work when PHP is running as a web server module, such as Apache or IIS (CLI and CGI will not work).

Note: In PHP 4.0.3, these functions were prefixed by shm rather than shmop.

Requirements


No external libraries are needed to build this extension.

Installation


To use shmop you will need to compile PHP with the --enable-shmop parameter in your configure line.

Runtime Configuration


This extension has no configuration directives defined in php.ini.

Resource Types


Predefined Constants


This extension has no constants defined.

Examples


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_close -- Close shared memory block
shmop_delete -- Delete shared memory block
shmop_open -- Create or open shared memory block
shmop_read -- Read data from shared memory block
shmop_size -- Get size of shared memory block
shmop_write -- Write data into shared memory block
Join our community in the tech forums for uncut technology discussion.



©2007 Fury-Tech | Tech News, Hardware Reviews, Forums, Guides, and more.

Web Hosting by Intavant

Tech News | Articles | Reviews | Guides | Resources | Tech Forums