このモジュールは、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をコンパイル します。