PHP Manual

例1 共有メモリ操作の概要

<?php
   
// システムID 0xff3を有する 100 バイトの共有メモリブロックを作成する
$shm_id shmop_open(0xff3"c"0644100);
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_id0$shm_size);
if (!
$my_string) {
    echo 
"共有メモリブロックから読み込めません。\n";
}
echo 
"共有メモリ内のデータは次のようになります: ".$my_string."\n";

// ブロックを削除し、共有メモリセグメントを閉じる
if (!shmop_delete($shm_id)) {
    echo 
"共有メモリブロックに削除用のマークを付けることができません。";
}
shmop_close($shm_id);
   
?>


PHP Manual