このモジュールは、System V IPC関連の関数へのラッパーを提供します。
セマフォは、マシーン上のリソースへの排他的アクセス機能や、
同時にあるリソースを使用することができるプロセスの数を制限するために 使用することができます。
このモジュールは、システム V 共有メモリを使用して共有メモリ関数も
提供します。共有メモリは、グローバル変数へのアクセス手段を提供するために 使用することが可能です。別の
httpd デーモンおよび (Perl, C, ... のような)他のプログラムさえ、グローバルデータ交換を
提供するこのデータにアクセスすることが可能です。
共有メモリは、同時アクセスに関して安全ではないということを覚えておいて 下さい。
同期をとるには、セマフォを使用して下さい。
表 1Unix 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をコンパイル します。