shm_attach

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_attach共有メモリセグメントを作成またはオープンする

説明

shm_attach(int $key, ?int $size = null, int $permissions = 0666): SysvSharedMemory|false

shm_attach() は ID を返します。 これは、指定されたキー key で System V 共有メモリにアクセスする際に使用することが可能です。 最初のコールの際に、サイズが size、 オプションのパーミッション permissions を指定した共有メモリセグメントを作成します。

同じ keyshm_attach() を 2 回コールした場合は 別の SysvSharedMemory インスタンスが返されますが、 両方のインスタンスは同じ共有メモリをアクセスします。 size および permissions は無視されます。

パラメータ

key

共有メモリセグメント ID を表す数値。

size

メモリのサイズ。省略した場合のデフォルトは php.inisysvshm.init_mem、あるいは 10000 バイトとなります。

permissions

オプションのパーミッション設定。デフォルトは 0666 です。

戻り値

成功時には、SysvSharedMemory クラスのインスタンスを返します。 失敗した場合に false を返します

変更履歴

バージョン 説明
8.0.0 成功時に、この関数は SysvSharedMemory クラスのインスタンスを返すようになりました。 これより前のバージョンでは、リソースが返されていました。
8.0.0 size は、nullable になりました。

参考

  • shm_detach() - 共有メモリセグメントへの接続を閉じる
  • ftok() - パス名とプロジェクト ID を、System V IPC キーに変換する

関連キーワード:  セグメント, 作成, オープン, shm, attach, size, インスタンス, key, permissions, SysvSharedMemory