欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

一段在linux下测试共享内存的程序_PHP

程序员文章站 2022-05-09 19:31:26
...
1 share.php 分配/删除共享内存






if($stop!=1)

{

// 判断是否已经创建

$shm_id = @shmop_open(0xff3, "a", 0644, 100);

if($shm_id) {

echo "内存块已经创建\n";

exit();

}

// 创建 100 字节的系统标识为 0xff3 的共享内存块

$shm_id = @shmop_open(0xff3, "c", 0644, 100);

if(!$shm_id) {

echo "共享内存块创建失败\n";

}



// 写一些内容

for($i=0;$i
{

$shm_bytes_written = shmop_write($shm_id, "共享块$i", ($i*10));

}

echo "创建成功";

shmop_close($shm_id);

}

else

{

// 是否存在

$shm_id = @shmop_open(0xff3, "a", 0644, 100);

if(!$shm_id) {

echo "没有找到共享内存块\n";

exit();

}

// 删除

if(!shmop_delete($shm_id)) {

echo "删除失败.";

}

shmop_close($shm_id);

echo "内存块删除完毕!";

}

?>



2 share2
.php 用于显示共享内存的内容






// 打开共享内存块 0xff3

$shm_id = @shmop_open(0xff3, "a", 0644, 100);

if(!$shm_id) {

echo "不能打开共享内存块\n";

exit();

}



// 读出里面的内容

$my_string = shmop_read($shm_id, 0, $shm_size);

if(!$my_string) {

echo "没有内容或者不能读\n";

}

echo $my_string."\n";

shmop_close($shm_id);

?&g