PHP는 HTTP 쿠키를 투명하게 지원합니다. 쿠키는 원격 브라우저에 데이터를 저장하여 다시 온 사용자를 추적하거나 식별하는 메카니즘입니다. setcookie()나 setrawcookie() 함수를 사용하여 쿠키를 설정할 수 있습니다. 쿠키는 HTTP 헤더의 일부분이기에, setcookie()는 브라우저에 어떠한 출력이 이루어지기 전에 호출해야 합니다. 이는 header()가 가지고 있는 것과 동일한 제약입니다. 출력 버퍼링 함수를 사용하여 쿠키 설정이나 헤더 전송을 결정할때까지 스크립트 출력을 지연할 수 있습니다.
클라이언트에서 보내진 모든 쿠키는 variables_order에 "C"가 있으면 자동적으로 $_COOKIE에 들어갑니다. 하나의 쿠키에 여러 값을 할당하고 싶으면, 쿠키 이름에 []을 붙이면 됩니다.
register_globals에 따라서, 쿠키에서 일반 PHP 변수가 생성됩니다. 그러나 이 기능은 보안 문제로 인하여 꺼 놓는 것을 추천합니다. 오래된 PHP 버전에서는 track_vars 설정 변수가 켜져 있으면, $HTTP_COOKIE_VARS도 생성됩니다. (PHP 4.0.3부터 이 설정은 항상 켜져있습니다)
브라우저 버그에 대한 정보를 포함한 더 자세한 내용은 setcookie()나 setrawcookie() 함수를 참고하십시오.