(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
shmop_open — 共有メモリブロックを作成またはオープンする
shmop_open() は共有メモリブロックを作成または オープンします。
key
共有メモリブロックのシステム ID であり、10 進数または 16 進数で指定することが可能です。
mode
フラグに設定できる内容は、次のとおりです。
permissions
共有メモリセグメントに設定したい
許可属性で、ファイルに関する許可属性と同様なものです。許可属性は、
例えば 0644
のような 8 進数形式で渡す必要があります。
size
作成したい共有メモリブロックの大きさをバイト数で指定します。
注意:
注意: 既存のメモリセグメントをオープンする場合には、3 番目および 4 番目の引数には 0 を指定する必要があります。成功時に
成功した場合は、shmop_open() は
作成した共有メモリセグメントにアクセスするために使用する
Shmop クラスのインスタンスを返します。
失敗した場合に false
を返します。
バージョン | 説明 |
---|---|
8.0.0 | 成功時に、この関数は Shmop クラスのインスタンスを返すようになりました。 これより前のバージョンでは、リソースが返されていました。 |
例1 共有メモリブロックを新規に作成する
<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>
この例は、ftok() が返すシステム ID の共有メモリブロックをオープンします。