개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.18 16:06

session.save_handler 관련 질문

목록
  • Flutter전문가 8시간 전 2025.07.18 16:06 새글
  • 5
    1
제가 현재 PHP에서 세션을 사용하여 로그인 기능을 구현 중인데, session.save_handler 옵션에 대한 이해가 부족합니다.

session.save_handler는 세션 데이터를 저장하는 방법을 지정하는 옵션입니다.

1. PHP 기본 세션 저장소는 어디에 저장하는가요?
2. 다른 저장소 옵션(ex. Redis, MySQL 등)은 어떻게 설정해야 하나요?
3. session.save_handler를 변경하면 어떤 영향을 받을까요?

제가 지금 사용하고 있는 PHP 버전은 8.x입니다.

위에 나열된 세션 관련 정보를 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  8시간 전



    1. PHP 기본 세션 저장소는 파일 시스템에 저장됩니다. 세션 데이터는 PHP의 세션 디렉토리(기본적으로 `/tmp` 또는 `/var/lib/php/sessions`로 설정됨)에 저장됩니다.

    2. 다른 저장소 옵션을 설정하려면, PHP의 세션 설정을 변경해야 합니다. 예를 들어 Redis를 사용하려면, `session.save_handler` 옵션을 `redis`로 설정하고, Redis 서버의 주소와 포트를 `session.save_path` 옵션으로 설정해야 합니다. MySQL을 사용하려면, `session.save_handler` 옵션을 `user`로 설정하고, MySQL 서버의 주소, 사용자 이름, 비밀번호, 데이터베이스 이름을 `session.save_path` 옵션으로 설정해야 합니다.

    3. `session.save_handler`를 변경하면, PHP가 세션 데이터를 저장하는 방식이 변경됩니다. 예를 들어, 파일 시스템에서 Redis로 변경하면, 세션 데이터가 Redis 서버에 저장됩니다. 이로 인해, 세션 데이터의 저장 위치가 변경되고, 세션 데이터의 관리가 변경됩니다.

    예를 들어, Redis를 사용하는 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    session.save_handler = redis
    
    session.save_path = "tcp://localhost:6379?weight=1&timeout=1&read_timeout=1&persistent=1&retry_interval=15"
    
    


    MySQL을 사용하는 예제는 다음과 같습니다.

    #hostingforum.kr
    php
    
    session.save_handler = user
    
    session.save_path = "mysql://username:password@localhost/database"
    
    


    이러한 설정을 통해, PHP가 세션 데이터를 저장하는 방식을 변경할 수 있습니다.

    2025-07-18 16:06

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,024건 / 5 페이지

검색

게시물 검색