(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
shmop_open — Erstellt oder öffnet einen gemeinsamen Speicherbereich
shmop_open() kann einen gemeinsamen Speicherbereich erstellen oder öffnen.
key
Die System-ID des gemeinsam genutzten Speicherbereichs. Dieser Parameter kann als Dezimal- oder Hexadezimalzahl übergeben werden.
mode
Folgende Flags können benutzt werden:
permissions
Die Zugriffsberechtigungen für die gemeinsamen Speicherbereiche sind
dieselben wie für Dateien. Diese Berechtigungen müssen als Oktalwerte
übergeben werden, zum Beispiel 0644
.
size
Die Größe des erzeugten gemeinsam genutzten Speicherbereichs in Byte.
Hinweis:
Beachten Sie: der dritte und vierte Parameter sollten mit 0 angegeben sein, falls Sie einen bereits existierenden Speicherbereich öffnen.
Bei Erfolg gibt shmop_open() eine
Shmop-Instanz zurück, die verwendet werden kann, um
auf den erstellten gemeinsamen Speicherbereich zuzugreifen. Bei einem
Fehler wird false
zurückgegeben.
Wenn mode
ungültig ist oder
size
kleiner oder gleich Null ist, wird ein
ValueError ausgelöst. Bei anderen Fehlern wird ein
E_WARNING
ausgegeben.
Version | Beschreibung |
---|---|
8.0.0 | Bei Erfolg gibt diese Funktion nun eine Shmop-Instanz zurück; vorher wurde eine resource zurückgegeben. |
8.0.0 |
Wenn mode ungültig ist oder
size kleiner oder gleich Null ist, wird ein
ValueError ausgelöst; vorher wurde stattdessen
ein E_WARNING ausgegeben und die Funktion gab
false zurück.
|
Beispiel #1 Einen neuen gemeinsamen Speicherbereich erstellen
<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>
In diesem Beispiel wurde ein gemeinsamer Speicherbereich geöffnet. Die System-ID wurde von der Funktion ftok() zurückgegeben.