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

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

# 導入

このモジュールは、System V IPC関連の関数へのラッパーを提供します。

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

このモジュールは、システム 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_* 定数の詳細と定義については、 ini_set()を参照して下さい。

# リソース型

# 定義済みの定数

この拡張モジュールは定数を全く定義しません。

前のページ | ホーム | 次のページ
sql_regcase | 上に戻る | ftok