码迷,mamicode.com
首页 > Web开发 > 详细

php 共享内存

时间:2014-09-28 02:16:10      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   strong   数据   

 

共享内存主要用于进程间通信

 php中的共享内存有两套扩展可以实现

1、shmop  编译时需要开启 --enable-shmop 参数

实例:

  

$shm_key = ftok(__FILE__, ‘t‘);

/**
 开辟一块共享内存
 
int $key , string $flags , int $mode , int $size 
$flags: a:访问只读内存段
        c:创建一个新内存段,或者如果该内存段已存在,尝试打开它进行读写
        w:可读写的内存段
        n:创建一个新内存段,如果该内存段已存在,则会失败
$mode: 八进制格式  0655
$size: 开辟的数据大小 字节

 */

$shm_id = shmop_open($shm_key, "c", 0644, 1024);

/**
 * 写入数据 数据必须是字符串格式 , 最后一个指偏移量
 * 注意:偏移量必须在指定的范围之内,否则写入不了
 * 
 */
$size = shmop_write($shm_id, ‘songjiankang‘, 0);
echo "write into {$size}";

#读取的范围也必须在申请的内存范围之内,否则失败
$data = shmop_read($shm_id, 0, 100);
var_dump($data);

#删除 只是做一个删除标志位,同时不在允许新的进程进程读取,当在没有任何进程读取时系统会自动删除
shmop_delete($shm_id);

#关闭该内存段
shmop_close($shm_id);

 

 

 

参考:http://www.laruence.com/2008/04/21/101.html

    http://www.yuansir-web.com/2012/09/22/php

 

php 共享内存

标签:style   blog   http   color   io   os   ar   strong   数据   

原文地址:http://www.cnblogs.com/siqi/p/3997444.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!