Forum und email

shmop_open

(PHP 4 >= 4.0.4, PHP 5)

shmop_open — 공유 메모리 블럭을 열거나 생성

Description

int shmop_open ( int $key , string $flags , int $mode , int $size )

shmop_open()은 공유 메모리 블럭을 생성하거나 여는데 쓰인다.

shmop_open()은 4가지 인자가 쓰인다: 첫번째 인자인 공유 메모리 블럭의 시스템의 id를 위한 key. 이 인자는 10진수 또는 16진수로 지정된다. 두번째 인자는 flags로 다음과 같이 쓰인다:

  • "a" : 접근 (IPC_EXCL 상수로 설정) 존재하고 있는 공유 메모리 세그먼트를 여는데 이 flag를 사용.
  • "c" : 생성 (IPC_CREATE 상수로 설정) 새로운 공유 메모리 세그먼트를 생성하려할 때 이 flag를 사용.
세번째 인자는 메모리 세그컨트를 할당하기를 원하는 파일의 퍼미션과 동일한 방식의 퍼미션 모드이다. 퍼미션은 0644와 같이 8진수로 지정되어야 한다. 마지막 인자는 바이트 단위의 생성할 공유 메모리 블럭 크기이다.

Note: 주의: 세번째와 네번째 인자는 존재하고 있는 메모리 세그먼트를 열때는 0을 지정해야만 한다. shmop_open()함수가 성공하면 생성된 공유 메모리 세그먼트를 접근하기 위해 사용될 id를 반환할 것이다.

Example#1 Create a new shared memory block

<?php
$shm_id 
shmop_open(0x0fff"c"0644100);
?>

위의 예제는 시스템 id 0x0fff를 가진 공유 메모리 블럭을 열도록 한다.