PHP マニュアル
前のページ |  | 次のページ

# CXXXIV. セマフォ・共有メモリおよび IPC 関数(semaphore)

# 導入

このモジュールは、System V IPC 関連の関数へのラッパーを提供します。 セマフォ・共有メモリおよびプロセス間通信(IPC)がその中に含まれます。

セマフォは、マシーン上のリソースへの排他的アクセス機能や、 同時にあるリソースを使用することができるプロセスの数を制限するために 使用することができます。

このモジュールは、System V 共有メモリを使用した共有メモリ関数も 提供します。共有メモリは、グローバル変数へのアクセス手段を提供するために 使用することが可能です。別の httpd デーモンおよび (Perl, C, ... のような)他のプログラムさえ、グローバルデータ交換を 提供するこのデータにアクセスすることが可能です。 共有メモリは、同時アクセスに関して安全ではないということを覚えておいて ください。 同期をとるには、セマフォを使用してください。

表 1. Unix OS による共有メモリの制限

SHMMAX | 共有メモリの最大サイズ。通常は 131072 バイト
SHMMIN | 共有メモリの最小サイズ。通常は 1 バイト
SHMMNI | 共有メモリセグメントの最大数。通常は 100
SHMSEG | プロセス毎の共有メモリの最大数。通常は 6

メッセージング関数は、他のプロセスと相互にメッセージを送受信する ために使用することができます。 これにより簡単で効率的なプロセス間のデータ交換が可能であり、 Unix ドメインソケットを用いる場合のような設定は不要です。

> 注意: この拡張モジュールは Windows 環境では利用できません。

# 要件

外部ライブラリを必要としません。

# インストール手順

この関数はデフォルトでは有効になってはいません。System V セマフォの サポートを有効にするには、オプション --enable-sysvsem を指定して PHP を コンパイルする必要があります。System V 共有メモリのサポートを有効にするには、 オプション --enable-sysvshm を 指定して PHP をコンパイルする必要があります。System V メッセージを有効に するには、オプション --enable-sysvmsg を指定して PHP をコンパイル します。

# 実行時設定

`php.ini` の設定により動作が変化します。

表 2. セマフォ設定オプション

名前 | デフォルト | 変更の可否 | 変更履歴
--- | --- | --- | ---
sysvmsg.value | "42" | PHP_INI_ALL |
sysvmsg.string | "foobar" | PHP_INI_ALL |

PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

# リソース型

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

表 3. System V メッセージ定数

定数 | 型
--- | ---
MSG_IPC_NOWAIT | integer
MSG_NOERROR | integer
MSG_EXCEPT | integer

前のページ | ホーム | 次のページ
SDO_DAS_Relational::executeQuery | 上に戻る | ftok