최근 수정 사항이 필요한 장바구니를 구현했습니다.세션을 쿠키로 바꾸기
장바구니 개체는 $_SESSION['cart']
에 저장됩니다. 브라우저가 닫히면 세션이 활성 상태로 남아 있지 않기 때문에 브라우저를 닫으면 카트가 손실됩니다.
이 문제를 해결하는 방법은 장바구니 개체를 세션이 아니라 수명이 긴 쿠키에 저장하는 것입니다.
빠른 픽스를 알고 있거나 정말로 모든 소스 파일을 가져와 쿠키로 세션을 대체해야합니까?
최근 수정 사항이 필요한 장바구니를 구현했습니다.세션을 쿠키로 바꾸기
장바구니 개체는 $_SESSION['cart']
에 저장됩니다. 브라우저가 닫히면 세션이 활성 상태로 남아 있지 않기 때문에 브라우저를 닫으면 카트가 손실됩니다.
이 문제를 해결하는 방법은 장바구니 개체를 세션이 아니라 수명이 긴 쿠키에 저장하는 것입니다.
빠른 픽스를 알고 있거나 정말로 모든 소스 파일을 가져와 쿠키로 세션을 대체해야합니까?
세션은 일반적으로 쿠키로 식별되며 기본적으로 브라우저가 닫힌 후에 쿠키가 제거됩니다. 그래서 오래 지속될 세션을 만들려면 (또는 영원히) PHP 엔진의 session.cookie-lifetime
매개 변수를 조정해야합니다. 여기에 the docs on that입니다.
나는 모든 수정 작업을해야 할 것이라고 생각합니다. 다행히도 검색을 수행하고 여러 파일을 대체 할 수있는 그래픽 인터페이스를 제공하는 Regexxer이라는 편리한 검색 및 바꾸기 도구 (Linux 용)가 있습니다.
serialize() 및 base64_encode() & base64_decode를 사용하지 않고 해당 종류의 데이터를 쿠키에 저장할 수 있는지 확신하지 못합니다. 아마도 뭔가를 명심해야합니다.
'session.cookie-lifetime'은 세션 수명을 브라우저의 수명보다 연장 할 수 없다는 것을 알고 있습니다. – Dimme
Documentation says : _ 값 0은 "브라우저가 닫힐 때까지"를 의미합니다. 기본값은 0입니다. 그러나 0보다 클 수 있습니다. 1 년에 몇 초를 배치 할 수 있으며 비활성 세션은 1 년 동안 지속됩니다. – AlexZam
은 세션의 GC 최대 시간을 조정해야 할 수도 있습니다. 그렇지 않으면 쿠키가 만료되기 전에 세션 데이터가 가비지 수집 될 가능성이 매우 희박합니다. – CD001