(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.
keyDie System-ID des gemeinsam genutzten Speicherbereichs. Dieser Parameter kann als Dezimal- oder Hexadezimalzahl übergeben werden.
modeFolgende 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.
sizeDie 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.