티스토리 뷰

반응형

PHP 세션 유지 시간을 12시간으로 설정하는 방법

웹사이트 개발 중 사용자 로그인 상태를 오래 유지하고 싶을 때, 세션 유지 시간을 늘리는 방법이 필요합니다. 기본적으로 PHP 세션의 유지 시간은 서버 설정에 따라 짧게 설정되어 있는 경우가 많습니다. 이 글에서는 .htaccess 파일을 활용해 세션 유지 시간을 12시간으로 설정하는 방법을 알아보겠습니다. 초보자도 쉽게 따라할 수 있도록 상세히 설명드리니, 천천히 따라 해보세요.

 


1. .htaccess 파일이란?

.htaccess 파일은 아파치 웹 서버에서 사용하는 설정 파일로, 디렉터리 단위로 서버의 동작 방식을 제어할 수 있습니다. 이 파일을 이용하면 특정 디렉터리 내에서 PHP 설정을 변경하거나 URL 리다이렉션 등을 쉽게 설정할 수 있습니다. .htaccess는 웹사이트의 루트 디렉터리나 특정 서브 디렉터리에 위치하며, PHP 설정을 조정할 때 자주 활용됩니다.


2. PHP 세션 유지 시간 기본값

PHP에서 세션은 사용자가 웹사이트를 떠났다가 다시 돌아왔을 때 상태를 유지하기 위해 사용됩니다. 하지만 기본적으로 세션 유지 시간은 짧게 설정되어 있습니다. 예를 들어, session.gc_maxlifetime의 기본값은 1440초(24분)로 설정되어 있습니다. 이것은 사용자가 24분 동안 아무런 활동을 하지 않으면 세션 데이터가 삭제된다는 의미입니다. 따라서 로그인 상태를 유지하려면 이 값을 늘려야 합니다.


3. 세션 유지 시간 12시간으로 설정하기

12시간은 초 단위로 계산하면 43,200초입니다. 이 값을 세션 유지 시간에 반영하려면 다음 PHP 설정 값을 조정해야 합니다:

  1. session.gc_maxlifetime
    이 값은 세션 데이터가 서버에 유지되는 최대 시간을 초 단위로 지정합니다. 43,200초로 설정하면 세션 데이터가 12시간 동안 유지됩니다.
  2. session.cache_expire
    이 값은 캐시된 세션 데이터가 유지되는 시간을 분 단위로 지정합니다. 12시간은 720분이므로, 이 값을 설정합니다.

4. .htaccess 파일 수정

.htaccess 파일은 텍스트 편집기를 사용해 수정할 수 있습니다. 아래 코드를 .htaccess 파일에 추가하거나 기존 파일을 수정합니다:

php_value display_errors 1
php_value session.gc_maxlifetime 43200
php_value session.cache_expire 720
  • php_value display_errors 1
    개발 중 PHP 오류를 화면에 출력하도록 설정합니다. 운영 환경에서는 0으로 설정하는 것이 좋습니다.
  • php_value session.gc_maxlifetime 43200
    세션 데이터가 서버에 유지되는 최대 시간을 12시간으로 설정합니다.
  • php_value session.cache_expire 720
    세션 데이터를 브라우저 캐시에서 유지하는 시간을 12시간으로 설정합니다.

5. 적용 후 확인 방법

.htaccess 파일을 수정한 후 설정이 제대로 적용되었는지 확인하려면, PHP의 phpinfo() 함수를 사용해 현재 설정 값을 확인할 수 있습니다.

  1. 새 PHP 파일을 생성하고 아래 코드를 입력합니다:
  2. <?php phpinfo(); ?>
  3. 브라우저에서 해당 파일을 열어 session.gc_maxlifetime와 session.cache_expire 값이 원하는 대로 설정되었는지 확인합니다.

6. 주의사항

  • 서버 환경 확인:
    .htaccess 파일은 아파치 서버에서만 동작합니다. 다른 웹 서버(Nginx 등)를 사용하는 경우 설정 방식이 다를 수 있습니다.
  • 권한 문제:
    .htaccess 파일의 수정 권한이 없을 수 있습니다. 이 경우 서버 관리자에게 권한 요청을 해야 합니다.
  • 운영 환경 고려:
    너무 긴 세션 유지 시간은 보안상 문제가 될 수 있습니다. 특히, 공용 컴퓨터에서 로그인 세션이 길게 유지되면 다른 사람이 사용자 정보를 악용할 가능성이 있습니다. 따라서 사용자 편의와 보안을 적절히 고려한 값을 설정하는 것이 중요합니다.

PHP 세션 유지 시간을 조정하는 것은 웹사이트 사용자 경험을 향상시키는 데 중요한 역할을 합니다. 간단한 .htaccess 설정만으로도 원하는 결과를 얻을 수 있으니, 위 내용을 참고해 적용해 보세요.

반응형
댓글