|
|
|
|
![]() |
|
|
![]() |
CXXXII. Semaphore, Shared Memory and IPC Functions
This module provides wrappers for the System V IPC family of functions.
It includes semaphores, shared memory and inter-process messaging (IPC).
Semaphores may be used to provide exclusive access to
resources on the current machine, or to limit the number of
processes that may simultaneously use a resource.
This module provides also shared memory functions using System V
shared memory. Shared memory may be used to provide access to
global variables. Different httpd-daemons and even other programs
(such as Perl, C, ...) are able to access this data to provide a
global data-exchange. Remember, that shared memory is NOT safe
against simultaneous access. Use semaphores for synchronization.
Таблица 1. Limits of Shared Memory by the Unix OS | SHMMAX | max size of shared memory, normally 131072 bytes | | SHMMIN | minimum size of shared memory, normally 1 byte | | SHMMNI |
max amount of shared memory segments on a system,
normally 100
| | SHMSEG |
max amount of shared memory segments per process, normally 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.
Замечание: Для Windows-платформ
это расширение недоступно.
Эти функции всегда доступны.
Support for this functions are not enabled by default.
To enable System V semaphore support compile PHP with the option
--enable-sysvsem.
To enable the System V shared memory support compile PHP with the option
--enable-sysvshm.
To enable the System V messages support compile PHP with the option
--enable-sysvmsg.
Поведение этих функций зависит от установок в php.ini.
Таблица 2. Semaphore Configuration Options | Name | Default | Changeable | Changelog |
|---|
| sysvmsg.value | "42" | PHP_INI_ALL | | | sysvmsg.string | "foobar" | PHP_INI_ALL | |
Для подробного описания констант
PHP_INI_*, обратитесь к документации функции ini_set().
Перечисленные ниже константы определены данным расширением и могут быть
доступны только в том случае, если PHP был собран с
поддержкой этого расширения или же в том случае, если
данное расширение подгружается во время выполнения.
Таблица 3. System V message constants
|
|
|
|
|
|