shmop_open
(PHP 4 >= 4.0.4, PHP 5, PHP 7)
shmop_open — Erstellt oder öffnet einen gemeinsamen Speicherblock
Beschreibung
$key
, string $flags
, int $mode
, int $size
) : resourceshmop_open() Kann einen gemeinsamen Speicherbereich erstellen oder öffnen.
Parameter-Liste
-
key
-
Die System-ID des gemeinsam genutzten Speicherblocks, dieser Parameter kann als Dezimal- oder Hexadezimalzahl übergeben werden.
-
flags
-
Folgende Flags können benutzt werden:
- "a" zum Zugriff (access) auf einen gemeinsamen Speicherblock (setzt SHM_RDONLY für shmat). Benutzen Sie dieses Flag, wenn Sie einen bestehenden gemeinsamen Speicherblock nur zum Lesen öffnen wollen.
- "c" zum Erzeugen (create) eines gemeinsamen Speicherblocks (setzt IPC_CREATE). Benutzen Sie dieses Flag, wenn Sie einen neuen gemeinsamen Speicherblock erzeugen wollen oder, falls bereits ein Segment mit derselben ID existiert, zum Öffnen dieses Segments für Lese- und Schreibzugriffe.
- "w" für Lese- und Schreibzugriffe. Benutzen Sie dieses Flag wenn Sie in einen gemeinsamen Speicherbereich schreiben oder daraus lesen müssen. Das wird meistens der Fall sein.
- "n" zum Erzeugen eines neuen gemeinsamen Speichersegments (setzt IPC_CREATE|IPC_EXCL). Benutzen Sie dieses Flag, wenn Sie ein neues gemeinsames Speichersegment erzeugen wollen. Falls schon ein Segment mit diesem Flag existiert, schlägt die Funktion fehl. Dies ist aus Sicherheitsgründen nützlich, denn damit können Sie vermeiden, dass konkurrierende Prozesse ausgenutzt werden.
-
mode
-
Die Zugriffsberechtigungen für die gemeinsamen Speichersegmente 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.
Rückgabewerte
Bei Erfolg liefert die Funktion shmop_open() eine Kennung
zurück, die Sie zum Zugriff auf den erstellten gemeinsamen Speicher benutzen
können. Bei einem Fehler wird FALSE
zurückgegeben.
Changelog
Version | Beschreibung |
---|---|
7.0.0 | Der Rückgabetype der Funktion shmop_open() wurde von int zu resource geändert. |
Beispiele
Beispiel #1 Einen neuen gemeinsamen Speicherblock erstellen
<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>
In diesem Beispiel wurde ein gemeinsamer Speicherblock geöffnet. Die System-ID wurde von der Funktion ftok() zurückgegeben.
Siehe auch
- shmop_close() - Schließt einen gemeinsamen Speicherblock
- shmop_delete() - Einen gemeinsamen Speicherblock löschen
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.shmop-open.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.