CXXI. Shared Memory Funktionen (Gemeinsamer Speicher)

Einführung

Shmop ist eine Sammlung einfach anzuwendender PHP-Funktionen, mit denen man mit PHP UNIX shared-memory-Segmente beschreiben, auslesen und löschen kann. Die Funktionen können mit Windows nicht eingesetzt werden, da Windows keinen gemeinsamen Speicher unterstützt. Um shmop zu nutzen, müssen Sie PHP mit der Option --enable-shmop kompilieren.

Anmerkung: Die Funktionen, die in diesem Kapitel erklärt werden, beginnen in PHP 4.0.3 alle mit shm, anstelle von shmop.

Anforderungen

Diese Erweiterung benötigt keine externen Bibliotheken.

Installation

Um die shmop-Funktionen benutzen zu können, müssen Sie php mit der Option --enable-shmop kompilieren.

Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Beispiele

Beispiel 1. Shared Memory Operationen - Übersicht

<?php
   
// Erstelle einen 100 Byte grossen gemeinsam genutzten Speicherblock
// mit mit der System_ID if 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if(!
$shm_id) {
    echo
"Konnte kein gemeinsames Speichersegment erstellen\n";
}

// Hole die Grösse des gemeinsamen Speicherblocks
$shm_size = shmop_size($shm_id);
echo
"SHM Block mit: ".$shm_size. " Bytes wurde erstellt.\n";

// Teststring in den gemeinsamen Speicher schreiben
$shm_bytes_written = shmop_write($shm_id, "mein gemeinsamer Speicherblock", 0);
if(
$shm_bytes_written != strlen("mein gemeinsamer Speicherblock")) {
    echo
"Konnte nicht den gesamten String schreiben\n";
}

// Den Teststring wieder auslesen
$my_string = shmop_read($shm_id, 0, $shm_size);
if(!
$my_string) {
    echo
"Konnte nicht aus dem gemeinsamen Speicher lesen\n";
}
echo
"Die Daten im gemeinsamen Speicher waren: ".$my_string."\n";

// Den Speicherblock löschen und den gemeinsamen Speicher schliessen
if(!shmop_delete($shm_id)) {
    echo
"Konnte den gemeinsamen Speicherblock nicht zum Löschen markieren.";
}
shmop_close($shm_id);
   
?>

Inhaltsverzeichnis
shmop_close -- Schliesst einen gemeinsamen Speicherblock
shmop_delete -- Einen gemeinsamen Speicherblock löschen
shmop_open -- Erstellt oder öffnet einen gemeinsamen Speicherblock
shmop_read -- Daten aus dem gemeinsamen Speicherblock auslesen
shmop_size -- Gibt die Grösse des gemeinsamen Speicherblocks zurück
shmop_write -- Schreibt Daten in einen gemeinsamen Speicherblock

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:57:25