PHP에서 세션 시간을 설정하는 방법
session.gc_maxlifetime를 사용한 세션 시간 설정
// 세션 시작
session_start();
// 세션 수명을 설정 (예: 1시간)
ini_set('session.gc_maxlifetime', 3600);
위의 코드에서 session.gc_maxlifetime는 세션 데이터가 garbage collection의 대상이 되기까지의 최대 시간을 초 단위로 나타냅니다. ini_set 함수를 사용하여 동적으로 값을 설정할 수 있습니다.
session_set_cookie_params를 사용한 세션 쿠키 수명 설정
// 세션 시작
session_start();
// 세션 쿠키 수명을 설정 (예: 1시간)
$cookieParams = session_get_cookie_params();
session_set_cookie_params(3600, $cookieParams['path'], $cookieParams['domain'], $cookieParams['secure'], $cookieParams['httponly']);
이 방법은 세션 쿠키의 수명을 설정합니다. session_get_cookie_params 함수로 현재의 쿠키 매개변수를 가져와서 session_set_cookie_params 함수를 통해 새로운 수명을 설정합니다.
PHP.ini 파일을 통해 세션 시간을 설정
PHP.ini 파일을 통해 세션 시간을 설정하는 방법은 session.gc_maxlifetime 디렉티브를 수정하는 것입니다. 이 디렉티브는 세션 데이터가 garbage collection(가비지 수집)될 때까지의 최대 수명을 초 단위로 정의합니다.
1. PHP.ini 파일 찾기: 먼저, 사용 중인 PHP의 설정 파일인 php.ini 파일을 찾아야 합니다. 이 파일은 웹 서버의 설정에 따라 다르며, 대부분의 경우 PHP가 설치된 폴더 내에 php.ini 파일로 존재합니다.
2. 디렉티브 수정: 찾은 php.ini 파일을 텍스트 에디터로 열어서 session.gc_maxlifetime 디렉티브를 찾습니다. 이 디렉티브는 세션 수명을 초 단위로 설정합니다. 아래와 같이 값을 변경할 수 있습니다
session.gc_maxlifetime = 3600
위의 예제에서는 세션 수명을 1시간(3600초)으로 설정했습니다. 여러분의 요구에 따라 이 값을 조절하십시오.
3. 웹 서버 재시작: php.ini 파일을 수정한 후에는 웹 서버를 재시작하여 변경 사항이 적용되도록 해야 합니다. 웹 서버를 재시작하면 PHP 설정이 다시 로드되어 새로운 세션 시간이 적용됩니다.
sudo service apache2 restart
웹 서버가 Nginx인 경우에는 service nginx restart 명령을 사용할 수 있습니다. 웹 서버에 따라 명령이 다를 수 있으니 주의하세요.
위의 단계를 따라 하면 PHP.ini 파일에서 세션 시간을 설정할 수 있습니다. 설정이 적용되면 세션의 수명은 지정된 초 단위로 변경됩니다.