【发布时间】:2014-06-20 04:37:56
【问题描述】:
我想问一下,为什么我使用了 shmop_delete($shmid) 和 shmop_close($shmid) 之后什么都没有发生?第一个字符串仍然附加。
这是我的 php 代码: $key = 864; $模式 = 'c'; $权限 = 0644; $size = 1024;
$shmid = shmop_open($key, $mode, $permission, 1024);
$string = "Hello World !!!";
shmop_write($shmid, $string, 0);
$size = shmop_size($shmid);
echo shmop_read($shmid, 0, $size);
shmop_delete($shmid);
shmop_close($shmid);
第一个结果:Hello World !!!
然后我更改 $string = "TEST"。
之后,我再次运行代码,结果为:TESTo World !!!(不需要的结果)。 我想要的结果是:TEST
为什么是 'o World !!!'虽然我已经做了 shmop_delete 和 shmop_close,但它仍然是附加的?以及如何从共享内存中删除它?谢谢...
【问题讨论】:
标签: php shared-memory