PHP Handbuch
Zurück |  | Nach vorne

# shmop_open

(PHP 4 >= 4.0.4)

shmop_open -- Erstellt oder öffnet einen gemeinsamen Speicherblock

## Beschreibung

``int shmop_open` (int key, string flags, int mode, int size)`

shmop_open() Kann einen gemeinsamen Speicherbereich erstellen oder öffnen

shmop_open() benötigt 4 Parameter: key, die System-ID des gemeinsam genutzten Speicherblocks, dieser Parameter kann als Dezimal- oder Hexadezimalzahl übergeben werden. Der zweite Parameter bezeichnet die Flags, die man benutzen kann:

- "a" zum Zugriff (access) auf einen gemeinsamen Speicherblock (setzt IPC_EXCL) Benutzen Sie dieses Flag, wenn Sie einen bestehenden gemeinsamen Speicherblock öffnen wollen.

- "c" zum Erstellen (create) eines gemeinsamen Speicherblocks (setzt IPC_CREATE) Benutzen Sie dieses Flag, wenn Sie einen gemeinsamen Speicherblock erstellen wollen.

Der dritte Parameter ist der Modus, der die Zugriffsrechte, die Sie dem gemeinsamen Speicher zuweisen wollen, angibt. Das sind dieselben Zugriffsrechte wie für Dateien. Zugriffsrechte müssen oktal angegeben werden, z.B. 0644. Der letzte Parameter gibt die Grösse des gemeinsamen Speichers, den Sie erstellen wollen, in Byte, an.

> Anmerkung: Beachten Sie: Der dritte und vierte Parameter muss als 0 angegeben werden, wenn Sie ein existierendes gemeinsames Speichersegment öffnen wollen. Bei Erfolg liefert die Funktion shmop_open() eine ID zurück, die Sie zum Zugriff auf den erstellten gemeinsamen Speicher benutzen können.

Beispiel 1. Einen neuen gemeinsamen Speicherblock erstellen
    <?php
    $shm_id = shmop_open(0x0fff, "c", 0644, 100);
    ?>

In diesem Beispiel wurde ein gemeinsamer Speicherblock mit der System-ID 0x0fff erstellt.

Zurück | Zum Anfang | Nach vorne
Shared Memory Funktionen (Gemeinsamer Speicher) | Nach oben | shmop_read