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 zur Erstellung 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); ?>
|
|