Manual do PHP
Anterior |  | Próxima

# CXLVI. Semaphore, Shared Memory and IPC Functions

# Introdução

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.

Tabela 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.

> Nota: Esta extensão não está disponível na plataforma Windows.

# Dependências

Nenhuma biblioteca externa é necessária para compilar esta extensão.

# Instalação

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`.

# Configurações em execução

O comportamento dessas funções podem ser modificado pelas configurações do `php.ini`.

Tabela 2. Semaphore Configuration Options

Name | Default | Changeable | Changelog
--- | --- | --- | ---
sysvmsg.value | "42" | PHP_INI_ALL |
sysvmsg.string | "foobar" | PHP_INI_ALL |

Para mais detalhes e definições das constantes PHP_INI_*, veja Apêndice H.

# Tipos Resource

# Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

Tabela 3. System V message constants

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 |

Anterior | Principal | Próxima
SDO_DAS_Relational::executeQuery | Acima | ftok