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.
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.
Note: Для 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.
Name | Default | Changeable | Changelog |
---|---|---|---|
sysvmsg.value | "42" | PHP_INI_ALL | |
sysvmsg.string | "foobar" | PHP_INI_ALL |
Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.
Constant | Type | Changelog |
---|---|---|
MSG_IPC_NOWAIT | integer | |
MSG_EAGAIN | integer | As of 5.2.0 |
MSG_ENOMSG | integer | As of 5.2.0 |
MSG_NOERROR | integer | |
MSG_EXCEPT | integer |