Forum und email

Shared Memory Functions

Introduktion

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.

Systemkrav

Ingen eksterne libraries er nødvendige for at kompilere denne udvidelse.

Installation

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

Runtime Konfiguration

Denne udvidelse har intet konfigurations-direktiv defineret i php.ini.

Ressourcetyper

Foruddefinerede Konstanter

Denne udvidelse har ingen konstanter.

Eksempler

Example#1 Shared Memory Operations Overview

<?php
   
// Create 100 byte shared memory block with system id of 0xff3
$shm_id shmop_open(0xff3"c"0644100);
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_id0$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