PHP
Referenzliste
shm_attach
Semaphore Funktionen
Befehl:
resource shm_attach ( int $key [, int $memsize [, int $perm = 0666 ]] )
Parameter-Liste:
Beschreibung | |
---|---|
Eine numerische Shared Memory Segment Id. | |
Die Größe des Shared Memory Segments in Bytes. Wird dieser Parameter nicht übergeben so wird der Wert aus sysvshm.init_mem in php.ini angenommen. Ist auch dieser nicht gesetzt ist der Vorgabewert 10000 Bytes bytes. | |
Optionale Zugriffsrechte als Bitmaske, Default ist 0666. |
Rückgabewerte:
Liefert ein Shared Memory Resource Handle.
Beschreibung:
shm_attach() liefert eine ID über die auf ein System V Shared Memory Segment mit dem gegebenen
Ein zweimaliger Aufruf der Funktion shm_attach() mit dem gleichen
key
zugegriffen werden kann. Der erste Zugriff auf ein noch nicht existierendes Segment legt dieses mit der Grösse memsize
und Zugriffsberechtigungen gemäss der in perm
gesetzten Bits an.Ein zweimaliger Aufruf der Funktion shm_attach() mit dem gleichen
key
liefert eine andere ID, über beide IDs wird aber trotzdem auf das gleiche Shared Memory Segment zugegriffen. memsize
und perm
werden in diesem Fall ignoriert. Aktiv in Version:
(PHP 4, PHP 5, PHP 7)
Hinweis:
Hinweis:
Diese Funktion vor PHP 5.3.0 einen Integer-Wert zurück. Dieses Verhalten kann durch einen Cast auf Integer simuliert werden falls dies aus Portabilitätsgründen nötig sein sollte.
Siehe auch:
Anbindung an ein Shared Memory-Segment beenden
• ftok()
Erzeugt aus einem Dateipfad und einem Projektbezeichner einen System V IPC Schlüssel
shm_attach() - Beispiel:
Eingabe:
Diese Funktion vor PHP 5.3.0 einen Integer-Wert zurück. Dieses Verhalten kann durch einen Cast auf Integer simuliert werden falls dies aus Portabilitätsgründen nötig sein sollte.
<?PHP // Temporäre Datei erstellen und Dateipfad speichern $tmp = tempnam('/tmp', 'PHP'); // Dateitoken-Schlüssel ermitteln $key = ftok($tmp, 'a'); // SHM-Resource anbinden, beachten Sie den weiter unten folgenden Cast $id = shm_attach($key); if ($id === false) { die('SHM-Segment kann nicht erzeugt werden'); } // Cast auf Integer, da vor PHP 5.3.0 die Resource-ID als // Integer zurückgegeben wurde. Der Cast simuliert dieses // Verhalten $id = (integer) $id; ?>
Beschreibung:
Beschreibung | |
---|---|
resumepos wurde hinzugefügt. |
Semaphore Funktionen