>  기사  >  백엔드 개발  >  PHP가 쿠키 설정에 실패하면 어떻게 해야 할까요?

PHP가 쿠키 설정에 실패하면 어떻게 해야 할까요?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-09-28 15:57:083034검색

PHP가 쿠키 설정에 실패하면 어떻게 해야 할까요?

setcookie를 사용하여 특정 페이지에 쿠키를 설정합니다. 예:

setcookie("id",$id, time()+36002430);

그런데 홈페이지에 돌아와 보니 javascript:alert(document.cookie)를 사용할 때 쿠키가 비어 있는 것을 발견했습니다. , PHP의 $_COOKIE에도 데이터가 없습니다.

PHP 공식 홈페이지에 가서 setcookie에 대한 설명을 확인해보세요. 공식 홈페이지에 있는 예제도 이와 같은데, 매개변수 설명을 잘 살펴보니 문제가 발견되었습니다.

관련 권장사항: "php Getting Started Tutorial"

setcookie의 네 번째 매개변수는 path:

The path on the server in which the cookie will be available on. If set to ‘/’, the cookie will be available within 
the entire domain. If set to ‘/foo/’, the cookie will only be available within the /foo/ directory and all 
sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being 
set in.

입니다. 즉, 네 번째 매개변수가 비어 있으면 기본적으로 현재 디렉터리에만 적용됩니다. 정상적인 상황에서는 문제가 발생하지 않습니다.

하지만 제 사이트는 rewrite로 설정되어 있고 index.php는 숨겨져 있어서 쿠키 세트는 이 페이지에서만 유효합니다.

해결책은 4번째 매개변수를 추가하는 것입니다:

setcookie("id",$id, time()+36002430 ,'/');

위 내용은 PHP가 쿠키 설정에 실패하면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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