Beispiel #1 Shared Memory Operationen - Übersicht
<?php
// Erstelle einen 100 Byte großen gemeinsam genutzten Speicherblock
// 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öße 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 das Speichersegment schließen
if(!shmop_delete($shm_id)) {
echo "Konnte den gemeinsamen Speicherblock nicht zum Löschen markieren.";
}
shmop_close($shm_id);
?>