首页 >后端开发 >php教程 >php共享内存shmop初探

php共享内存shmop初探

WBOY
WBOY原创
2016-07-28 08:25:351595浏览

先上读写程序:

<?php /**
  * SHMOP共享内存操作示例
  * @author monkee
 **/
$key = 0x4337b700;
$size = 4096;
$shmid = @shmop_open($key, &#39;c&#39;, 0644, $size);
if($shmid === FALSE){
	exit(&#39;shmop_open error!&#39;);
}

$data = &#39;世界,你好!我将写入很多的数据,你能罩得住么?&#39;;

$length = shmop_write($shmid, pack(&#39;a*&#39;,$data), 0);
if($length === FALSE){
	exit(&#39;shmop_write error!&#39;);
}

@shmop_close($shmid);

exit(&#39;succ&#39;);
?>

读:

<?php /**
  * SHMOP共享内存操作示例
  * @author monkee
 **/
$key = 0x4337b700;
$size = 256;
$shmid = @shmop_open($key, &#39;c&#39;, 0644, $size);
if($shmid === FALSE){
	exit(&#39;shmop_open error!&#39;);
}

$data = unpack(&#39;a*&#39;, shmop_read($shmid, 0, 256));
if($data === FALSE){
	exit(&#39;shmop_read error!&#39;);
}
@shmop_close($shmid);

exit($data[1]);
?>
unix/linux命令查看:

 php共享内存shmop初探

key :共享内存的唯一的key值,共享内存通过该key来判断你读取的是哪一块内存。

shmid:当使用key来获取内存时,你获得的是这个id的值。它作为你操作内存块的标识。

owner:创建该共享内存块的用户

perms:该共享内存的读写权限,8禁止,可以是777,与文件的读写权限一致。

bytes:该内存块的大小

nattch:连接该内存块的进程数

status:当前状态,如:dest,即将删除等。


以上就介绍了 php共享内存shmop初探,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn