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

# C. 共有メモリ関数(shmop)

# 導入

shmop は、共有メモリセグメントをPHPから簡単に読み書きまたは作成、 削除することを可能にする一連の関数です。Windows上では共有メモリが サポートされないため、これらの関数は動作しません。 しかし、Windows 2000以降、`php_shmop.dll`を `php.ini`で有効にすることにより、この機能を有効にすることができま す。

> 注意: PHP 4.0.3では、以下の関数に接頭辞shmopではな くshmが付いていました。 rather than

# 要件

これらの関数は、標準モジュールの一部として利用可能であり、常に使用できます。

# インストール手順

shmopを使用するには、--enable-shmopパラメータを configure に指 定してPHPをコンパイルする必要があります。

# 実行用の設定

この拡張モジュールは設定ディレクティブを全く定義しません。

# リソース型

# 定義済みの定数

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

# 例

例 1. 共有メモリ操作の概要
`<?php // システムID 0xff3を有する 100 バイトの共有メモリブロックを作成する $shm_id = shmop_open(0xff3, "c", 0644, 100); if(!$shm_id) { echo "共有メモリセグメントを作成できませんでした。\n"; } // 共有メモリのブロック長を得る $shm_size = shmop_size($shm_id); echo "SHM ブロックサイズ: ".$shm_size. " が作成されました。\n"; // 共有メモリにテスト用の文字列を書き込んでみる $shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0); if($shm_bytes_written != strlen("my shared memory block")) { echo "データ全体を書き込めませんでした。\n"; } // その文字列を再び読み込んでみる $my_string = shmop_read($shm_id, 0, $shm_size); if(!$my_string) { echo "共有メモリブロックから読み込めません。\n"; } echo "共有メモリ内のデータは次のようになります: ".$my_string."\n"; // ブロックを削除し、共有メモリセグメントを閉じる if(!shmop_delete($shm_id)) { echo "共有メモリブロックに削除用のマークを付けることができません。"; } shmop_close($shm_id); ?>`

前のページ | ホーム | 次のページ
session_write_close | 上に戻る | shmop_close