라이브러리

[PHP_CONFIG] session.gc_divisor - 세션 가비지 컬렉션 분모 설정




PHP 세션 GC (Garbage Collection) 설정

PHP 세션 GC는 세션 데이터를 관리하는 데 사용되는 메커니즘입니다. 세션 GC는 세션 데이터를 정리하고 삭제하는 것을 담당합니다. PHP 5.3.6부터 세션 GC 설정이 가능해졌습니다.

session.gc_divisor

`session.gc_divisor`는 세션 GC의 주기 동안 세션 데이터를 삭제하는 비율을 결정하는 설정 변수입니다. 기본값은 100입니다. 이 설정 변수를 변경하면 세션 GC의 주기 동안 세션 데이터를 삭제하는 비율이 달라집니다.

예제

#hostingforum.kr
php

<?php

// 세션 GC 설정

ini_set('session.gc_divisor', 10);

// 세션 시작

session_start();



// 세션 데이터 설정

$_SESSION['test'] = 'Hello, World!';



// 10초 후 세션 GC가 실행되도록 설정

ini_set('session.gc_probability', 1);

ini_set('session.gc_divisor', 10);

ini_set('session.gc_maxlifetime', 10);



// 10초 후 세션 GC가 실행되도록 대기

sleep(10);



// 세션 데이터 확인

print_r($_SESSION);

?>



이 예제에서는 `session.gc_divisor`를 10으로 설정하고, 세션 GC의 주기 동안 세션 데이터를 삭제하는 비율을 1/10으로 설정합니다. 이 설정을 통해 세션 GC가 10초마다 실행되도록 설정합니다.

세션 GC의 주기

세션 GC의 주기는 `session.gc_probability`와 `session.gc_divisor`로 결정됩니다. `session.gc_probability`는 세션 GC가 실행될 확률을 결정하는 변수이고, `session.gc_divisor`는 세션 GC의 주기 동안 세션 데이터를 삭제하는 비율을 결정하는 변수입니다.

예를 들어, `session.gc_probability`를 1로 설정하고 `session.gc_divisor`를 10으로 설정하면, 세션 GC가 10% 확률로 10초마다 실행되도록 설정됩니다.

세션 GC의 설정

세션 GC의 설정은 `php.ini` 파일에서 변경할 수 있습니다. 또는 PHP 코드에서 `ini_set` 함수를 사용하여 설정을 변경할 수 있습니다.

#hostingforum.kr
php

ini_set('session.gc_probability', 1);

ini_set('session.gc_divisor', 10);

ini_set('session.gc_maxlifetime', 10);



세션 GC의 설정을 변경하면, 세션 데이터의 삭제 주기가 달라집니다. 따라서, 세션 GC의 설정을 변경할 때는, 세션 데이터의 삭제 주기를 고려하여 설정해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 394건 / 6 페이지

검색

게시물 검색