라이브러리
[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의 설정을 변경할 때는, 세션 데이터의 삭제 주기를 고려하여 설정해야 합니다.
댓글목록
등록된 댓글이 없습니다.