라이브러리

[PHP] shm_attach - 공유 메모리 세그먼트를 생성하거나 엽니다.




SHM (Shared Memory)란 무엇인가?

SHM (Shared Memory)란 프로세스 간에 공유할 수 있는 메모리 공간입니다. 여러 프로세스가 동일한 메모리 공간에 접근할 수 있기 때문에, 프로세스 간의 통신을 용이하게 합니다.

PHP에서 SHM 사용하기

PHP에서 SHM을 사용하기 위해서는 `shm_attach` 함수를 사용합니다. 이 함수는 SHM을 연결하는 함수로, SHM의 이름을 지정하여 SHM을 연결할 수 있습니다.

shm_attach 함수의 구조


#hostingforum.kr
php

shm_attach(string $name, int $size, int $flags)



* `$name`: SHM의 이름
* `$size`: SHM의 크기
* `$flags`: SHM의 플래그 (선택 사항)

예제


#hostingforum.kr
php

// shm_attach.php



// SHM의 이름과 크기를 지정합니다.

$shm_name = "example_shm";

$shm_size = 1024;



// SHM을 연결합니다.

$shm_id = shm_attach($shm_name, $shm_size, 0);



// SHM에 데이터를 저장합니다.

$shm_data = "Hello, World!";

shm_put_var($shm_id, "data", $shm_data);



// SHM에서 데이터를 읽습니다.

$read_data = shm_get_var($shm_id, "data");



// SHM을 해제합니다.

shm_detach($shm_id);



// SHM에서 데이터를 읽은 결과를 출력합니다.

echo $read_data;



shm_detach 함수의 구조


#hostingforum.kr
php

shm_detach(int $shm_id)



* `$shm_id`: SHM의 ID

예제


#hostingforum.kr
php

// shm_detach.php



// SHM의 이름과 크기를 지정합니다.

$shm_name = "example_shm";

$shm_size = 1024;



// SHM을 연결합니다.

$shm_id = shm_attach($shm_name, $shm_size, 0);



// SHM에서 데이터를 읽습니다.

$read_data = shm_get_var($shm_id, "data");



// SHM을 해제합니다.

shm_detach($shm_id);



// SHM에서 데이터를 읽은 결과를 출력합니다.

echo $read_data;



shm_put_var 함수의 구조


#hostingforum.kr
php

shm_put_var(int $shm_id, string $key, mixed $value)



* `$shm_id`: SHM의 ID
* `$key`: 저장할 데이터의 키
* `$value`: 저장할 데이터의 값

예제


#hostingforum.kr
php

// shm_put_var.php



// SHM의 이름과 크기를 지정합니다.

$shm_name = "example_shm";

$shm_size = 1024;



// SHM을 연결합니다.

$shm_id = shm_attach($shm_name, $shm_size, 0);



// SHM에 데이터를 저장합니다.

$shm_data = "Hello, World!";

shm_put_var($shm_id, "data", $shm_data);



// SHM에서 데이터를 읽습니다.

$read_data = shm_get_var($shm_id, "data");



// SHM을 해제합니다.

shm_detach($shm_id);



// SHM에서 데이터를 읽은 결과를 출력합니다.

echo $read_data;



shm_get_var 함수의 구조


#hostingforum.kr
php

shm_get_var(int $shm_id, string $key)



* `$shm_id`: SHM의 ID
* `$key`: 읽을 데이터의 키

예제


#hostingforum.kr
php

// shm_get_var.php



// SHM의 이름과 크기를 지정합니다.

$shm_name = "example_shm";

$shm_size = 1024;



// SHM을 연결합니다.

$shm_id = shm_attach($shm_name, $shm_size, 0);



// SHM에 데이터를 저장합니다.

$shm_data = "Hello, World!";

shm_put_var($shm_id, "data", $shm_data);



// SHM에서 데이터를 읽습니다.

$read_data = shm_get_var($shm_id, "data");



// SHM을 해제합니다.

shm_detach($shm_id);



// SHM에서 데이터를 읽은 결과를 출력합니다.

echo $read_data;



shm_remove 함수의 구조


#hostingforum.kr
php

shm_remove(string $name)



* `$name`: SHM의 이름

예제


#hostingforum.kr
php

// shm_remove.php



// SHM의 이름을 지정합니다.

$shm_name = "example_shm";



// SHM을 삭제합니다.

shm_remove($shm_name);



이러한 예제를 통해 PHP에서 SHM을 사용하는 방법을 이해할 수 있습니다. SHM은 프로세스 간의 통신을 용이하게 해주며, 데이터를 공유할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 189 페이지

검색

게시물 검색