Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

shmop_open

Shared Memory Funktionen

    Befehl:
int shmop_open ( int $key , string $flags , int $mode , int $size )


    Parameter-Liste:
NameBeschreibung
keyDie System-ID des gemeinsam genutzten Speicherblocks, dieser Parameter kann als Dezimal- oder Hexadezimalzahl übergeben werden.
flagsFolgende 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.
modeDie Zugriffsberechtigungen für die gemeinsamen Speichersegmente sind dieselben wie für Dateien. Diese Berechtigungen müssen als Oktalwerte übergeben werden, zum Beispiel 0644
sizeDie Grösse 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 ID zurück, die Sie zum Zugriff auf den erstellten gemeinsamen Speicher benutzen können. Bei einem Fehler wird FALSE zurückgegeben.

    Beschreibung:
shmop_open() Kann einen gemeinsamen Speicherbereich erstellen oder öffnen.


    Aktiv in Version:
(PHP 4 >= 4.0.4, PHP 5, PHP 7)

    Siehe auch:
Schliesst einen gemeinsamen Speicherblock
 
Einen gemeinsamen Speicherblock löschen
 

shmop_open() - Beispiel: Einen neuen gemeinsamen Speicherblock erstellen


Eingabe:
<?PHP
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>


Beschreibung:
In diesem Beispiel wurde ein gemeinsamer Speicherblock ge�ffnet. Die System-ID wurde von der Funktion ftok() zur�ckgegeben.
Shared Memory Funktionen