Heim >Backend-Entwicklung >PHP-Tutorial >php共享内存shmop初探

php共享内存shmop初探

WBOY
WBOYOriginal
2016-07-28 08:25:351596Durchsuche

先上读写程序:

<?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教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:transmission + nginx = 离线BT下载站Nächster Artikel:PHP error_reporting