첫 번째 읽기 및 쓰기 프로그램:
<?php /** * SHMOP共享内存操作示例 * @author monkee **/ $key = 0x4337b700; $size = 4096; $shmid = @shmop_open($key, 'c', 0644, $size); if($shmid === FALSE){ exit('shmop_open error!'); } $data = '世界,你好!我将写入很多的数据,你能罩得住么?'; $length = shmop_write($shmid, pack('a*',$data), 0); if($length === FALSE){ exit('shmop_write error!'); } @shmop_close($shmid); exit('succ'); ?>
<?php /** * SHMOP共享内存操作示例 * @author monkee **/ $key = 0x4337b700; $size = 256; $shmid = @shmop_open($key, 'c', 0644, $size); if($shmid === FALSE){ exit('shmop_open error!'); } $data = unpack('a*', shmop_read($shmid, 0, 256)); if($data === FALSE){ exit('shmop_read error!'); } @shmop_close($shmid); exit($data[1]); ?>
key: 공유 메모리의 고유 키 값입니다. 공유 메모리는 이 키를 사용하여 읽고 있는 메모리를 결정합니다.
shmid: 메모리를 얻기 위해 키를 사용할 때 이 ID의 값을 얻습니다. 이는 작업하는 메모리 블록의 식별자 역할을 합니다.
소유자: 공유 메모리 블록을 생성한 사용자
perms: 공유 메모리의 읽기 및 쓰기 권한, 8은 금지, 777일 수 있으며, 읽기 및 쓰기 권한과 일치합니다. 파일.
바이트: 메모리 블록의 크기
nattch: 메모리 블록에 연결된 프로세스 수
상태: 현재 상태(예: dest, 곧 예정) 삭제 등
이상에서는 PHP 공유 메모리 shmop에 대한 예비 연구를 그 내용을 포함하여 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.