현재 위치: > 최신 기사 목록> Session_SET_COOKIE_PARAMS를 사용하면 기존 PHP 세션에 영향을 미칩니 까?

Session_SET_COOKIE_PARAMS를 사용하면 기존 PHP 세션에 영향을 미칩니 까?

M66 2025-06-29

1. Session_SET_COOKIE_PARAMS 의 역할

Session_SET_COOKIE_PARAMS 는 세션 쿠키의 다양한 매개 변수를 설정하는 데 사용됩니다. 기본 사용량은 다음과 같습니다.

 session_set_cookie_params([
    'lifetime' => 3600, // cookie 만료 시간(두번째)
    'path' => '/', // cookie 길
    'domain' => 'm66.net', // cookie 도메인 이름
    'secure' => true, // 전달되는지 여부 HTTPS 전염
    'httponly' => true, // 고객을 방지하십시오 JavaScript 입장 cookie
]);

이 기능은 PHP 세션 쿠키 생성에 영향을 미치며, 일반적으로 Session_Start ()을 호출하기 전에 수행됩니다. 그러나 Session_SET_COOKIE_PARAMS가 기존 PHP 세션에 영향을 미칩니 까?


2. 세션 매개 변수의 기회

Session_SET_COOKIE_PARAMS 에 의해 설정된 세션 쿠키 매개 변수는 생성 된 후속 세션에만 효과적입니다. Session_Start ()을 호출하여 세션을 시작하면 PHP가 새 세션 쿠키를 만듭니다. 이 쿠키는 Session_SET_COOKIE_PARAMS 에서 정의하는 매개 변수를 기반으로 생성됩니다.

그러나 세션을 시작한 경우 ( Session_Start () 를 통해)을 통해 Session_SET_COOKIE_PARAMS 호출은 현재 세션에서 사용하는 쿠키에 영향을 미치지 않습니다. 기존 세션의 쿠키가 생성되었으며 다음에 요청할 때 이러한 매개 변수는 업데이트되지 않습니다. 따라서 Session_SET_COOKIE_PARAMS는 기존 세션에 대해 즉시 적용되지 않습니다.


3. 영향 예제

다음 두 가지 상황에서 Session_SET_COOKIE_PARAMS를 호출한다고 가정합니다.

 // 첫 번째 상황:세션이 시작되기 전 설정이 시작됩니다 cookie 매개 변수
session_set_cookie_params([
    'lifetime' => 3600,
    'domain' => 'm66.net'
]);
session_start();

이 경우 세션의 쿠키는 설정 한 도메인수명 에 따라 생성됩니다.

그리고 세션을 시작한 경우 :

 // 두 번째 상황:세션이 시작된 후에 전화하십시오 session_set_cookie_params
session_start(); // 세션을 시작하십시오
session_set_cookie_params([
    'domain' => 'm66.net',
    'lifetime' => 7200
]);

이 경우 Session_SET_COOKIE_PARAMS는 현재 세션에 영향을 미치지 않습니다. 새 쿠키 매개 변수는 다음에 session_start ()가 호출되는 경우에만 적용됩니다.


4. 기존 세션의 매개 변수를 다루는 방법은 무엇입니까?

기존 세션 매개 변수 (예 : 쿠키의 만료 시간)를 수정 해야하는 경우 $ _session 배열의 값을 수정하여 세션 내용을 간접적으로 제어 할 수 있지만 기존 세션 쿠키를 직접 수정할 수는 없습니다.

 session_start(); // 세션을 시작하십시오
$_SESSION['user'] = 'example'; // 설정 session 콘텐츠
// 如果需要修改会话만료 시간,서버 측 로직에서 조정할 수 있습니다,
// 그러나 기존 세션을 직접 변경할 수는 없습니다 cookie。