Web aym.pekori.to

shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open -- 共有メモリブロックを作成またはオープンする

説明

int shmop_open ( int key, string flags, int mode, int size )

shmop_open() は共有メモリブロックを作成または オープンします。

shmop_open() は次の 4 つの引数をとります。key は 共有メモリブロックのシステム ID であり、このパラメータは 10 進数または 16 進数で指定することが可能です。2 番目のパラメータは flags であり、 次のものを指定可能です。

3 番目のパラメータは mode で、共有メモリセグメントに設定したい 許可属性で、ファイルに関する許可属性と同様なものです。許可属性は、 例えば 0644 のような 8 進数形式で渡す必要があります。最後のパラメータ size には作成したい共有メモリブロックの大きさをバイト数で指定します。

注意: 注意: 既存のメモリセグメントをオープンする場合には、3 番目および 4 番目の引数には 0 を指定する必要があります。成功時に shmop_open() は作成した共有メモリセグメントに アクセスするために使用する ID を返します。

例 1. 共有メモリブロックを新規に作成する

<?php
$shm_key
= ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

この例は、ftok() が返すシステム ID の共有メモリブロックをオープンします。