잘못된 PHP setcookie에 대한 해결 방법: 1. 브라우저에서 쿠키를 활성화합니다. 2. setcookie() 이전의 모든 HTTP 헤더 출력을 삭제합니다. 3. PHP의 setcookie()를 사용하여 쿠키를 만듭니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
php setcookie 기능이 잘못되었나요?
최근에 웹사이트용 PHP 백엔드를 작성할 때 setcookie 함수가 항상 정상적으로 쿠키를 설정할 수 없다는 것을 발견했습니다. var_dump()를 통해 함수의 반환 값이 false라는 것을 발견했습니다. 설정에 실패했습니다. Google을 검색한 결과 다음과 같은 이유로 setcookie 실패가 발생할 수 있음을 발견했습니다.
브라우저에서 쿠키가 비활성화되었습니다. 확인할 필요가 없습니다. 비활성화되지 않은 것이 확실합니다.
php의 setcookie()를 사용하여 쿠키를 만드는 것은 PHP에서 세션을 여는 session_start()와 동일합니다. setcookie() 이전에는 HTTP 헤더 출력이 있을 수 없습니다. 코드를 확인해 보니 다음 코드
<p>var_dump($qOpenId);<br/>setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');<br/></p>
가 var_dump($OpenId) 줄에 단호하게 주석을 달아 테스트에 성공했습니다.
개인적으로는 setcookie가 http 헤더에 내용을 직접 설정해야 한다고 생각하므로 앞에 헤더 출력이 없어야 하고 var_dump, echo 등이 없어야 합니다.
추천 학습: "PHP Video Tutorial"
위 내용은 php setcookie가 실패하면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!