>백엔드 개발 >PHP 튜토리얼 >여러 하위 도메인에서 PHP 세션을 공유하는 방법은 무엇입니까?

여러 하위 도메인에서 PHP 세션을 공유하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-01 03:37:10535검색

How to Share PHP Sessions Across Multiple Subdomains?

하위 도메인 간 PHP 세션 공유

문제:

원활한 세션 공유를 설정하는 방법 하위 도메인 간 메커니즘을 통해 인증된 사용자가 하위 도메인 간을 탐색할 때 로그인 상태를 유지하도록 보장 하위 도메인.

배경:

  • 다음 하위 도메인으로 설정을 고려하세요.

    • auth.example.com (인증서버)
    • sub1.example.com (애플리케이션 1)
    • sub2.example.com (애플리케이션 2)
  • 사용자는 auth.example.com을 통해 로그인하고 sub1.example에 액세스할 수 있어야 합니다. 로그인할 필요 없이 com 또는 sub2.example.com

php.ini를 사용한 초기 시도:

  • php.ini의 session.cookie_domain 매개변수를 ".example.com"으로 수정 문제가 해결되지 않았습니다.

수정됨 접근 방식:

  • 쿠키 매개변수를 구성하기 전에 세션 이름을 설정하세요.

    • session_name("some_name");
    • session_set_cookie_params( 0, '/', '.example.com');
    • session_start();
  • 이 수정을 통해 세션 이름이 모든 하위 도메인에서 일관되게 유지됩니다.

해결책 설명:

세션 설정을 통해 명시적으로 이름을 지정하면 PHP의 기본 세션 이름 생성이 무시됩니다. 이렇게 하면 모든 하위 도메인에서 동일한 세션 쿠키가 사용되어 적절한 세션 공유가 가능해집니다. 모든 하위 도메인에서 쿠키를 사용할 수 있도록 하려면 php.ini의 session.cookie_domain 설정이 여전히 필요합니다.

위 내용은 여러 하위 도메인에서 PHP 세션을 공유하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.