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.
Diese Erweiterung benötigt keine externen Bibliotheken.
Um die shmop-Funktionen benutzen zu können, müssen Sie php mit
der Option --enable-shmop
kompilieren.
Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.
Diese Erweiterung definiert keine Konstanten.
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); ?>
|
|