PHP Handbuch
Zurück |  | Nach vorne

# XCVIII. 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 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`.

# Resource Typen

# 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); ?>`

Zurück | Zum Anfang | Nach vorne
session_write_close | Nach oben | shmop_close