Manuál PHP | ||
---|---|---|
Předcházející | Další |
CXLV. Semaphore, Shared Memory and IPC Functions
Úvod
Toto rozšíření poskytuje rozhraní k rodině IPC funkcí Systemu V. To zahrnuje semafory, sdílenou paměť a meziprocesové zprávy (IPC).
Semafory se dají používat k poskytování exkluzivního přístupu k prostředkům na daném systému, nebo k omezení počtu procesů, které mohou současně používat určitý prostředek.
Toto rozšíření také poskytuje funkce pro práci se sdílenou pamětí využívající System V sdílenou paměť. Sdílená pmět se dá používat k poskytování přístupu ke globálním proměnným. Různí httpd-daemoni a dokonce i jiné programy (např. Perl, C, ...) mohou k těmto datům přistupovat, a vytvořit tak globální výměnu dat. Pamatujte, že sdílená paměť není chráněna proti simultáním přístupům. K synchronizaci použijte semafory.
Tabulka 1. Omezení sdílené paměti systémem Unix
SHMMAX | max. velikost sdílené paměti, normálně 131072 bytů |
SHMMIN | min. velikost sdílené paměti, normálne 1 byte |
SHMMNI | max. počet segmentů sdílené paměti, normálně 100 |
SHMSEG | max. počet segmentů sdílené paměti na proces, normálně 6 |
The messaging functions may be used to send and receive messages to/from other processes. They provide a simple and effective means of exchanging data between processes, without the need for setting up an alternative using unix domain sockets.
Poznámka: Toto rozšíření není k dispozici na platformách Windows.
Požadavky
Tyto funkce jsou k dispozici jako součást standardního modulu, který je vždy dostupný.
Instalace
Podpora těchto funkcí není ve výchozím nastavení zapnuta.
Pro zapnutí podpory semaforů Systemu V zkompilujte PHP s volbou
--enable-sysvsem
.
Pro zapnutí podpory sdílené paměti Systemu V zkompilujte PHP s volbou
--enable-sysvshm
.
Pro zapnutí podpory zpráv Systemu V zkompilujte PHP s volbou
--enable-sysvmsg
.
Konfigurace běhu
Chování těchto funkcí je ovlivněno nastavením parametrů v php.ini.
Tabulka 2. Konfiguraèní volby pro Semaphore
Název | Výchozí hodnota | Lze zmìnit |
---|---|---|
sysvmsg.value | "42" | PHP_INI_ALL |
sysvmsg.string | "foobar" | PHP_INI_ALL |
Předdefinované konstanty
Toto rozšíření nemá definovány žádné konstanty.
- Obsah
- ftok -- Convert a pathname and a project identifier to a System V IPC key
- msg_get_queue -- Create or attach to a message queue
- msg_receive -- Receive a message from a message queue
- msg_remove_queue -- Destroy a message queue
- msg_send -- Send a message to a message queue
- msg_set_queue -- Set information in the message queue data structure
- msg_stat_queue -- Returns information from the message queue data structure
- sem_acquire -- Získat semafor
- sem_get -- Získat id semaforu
- sem_release -- Uvolnit semafor
- sem_remove -- Remove a semaphore
- shm_attach -- Vytvořit nebo otevřít segment sdílené paměti
- shm_detach -- Odpojit se od segmentu sdílené paměti
- shm_get_var -- Vrátit proměnnou ze sdílené paměti
- shm_put_var -- Vložit nebo modifikovat proměnnou do sdílené paměti
- shm_remove_var -- Odstranit proměnnou ze sdílené paměti
- shm_remove -- Odstranit sdílenou paměť ze systému
Předcházející | Domů | Další |
SDO_DAS_Relational::executeQuery | Nahoru< |