PHP soporta cookies HTTP de forma transparente. Las Cookies son un mecanismo por el cuál se almacenan datos en el browser remoto y así rastrear o identificar a usuarios que vuelven. Se pueden configurar Cookies usando la función setcookie() o setrawcookie(). Las Cookies son parte del header HTTP, así es que setcookie() será llamada antes que cualquier otra salida sea enviada al browser. Esta es la misma limitación que tiene la función header(). Se pueden usar funciones del búffer de salida para retrasar la salida del script hasta que se halla decidido enviar o no cookies o enviar cualquier otro header.
Algunos envíos de cookies desde el cliente serán incluidos automáticamente en el Array auto-global $_COOKIE si variables_order contiene "C". Si se desea asignar múltiples valores a una cookie, solo se deben agregar [] al nombre de la cookie.
Dependiendo de register_globals, variables regulares de PHP pueden ser creadas a partir de las cookies. Sin embargo, no se recomienda esta práctica, esta característica es desactivada por temas de seguridad. $HTTP_COOKIE_VARS también es configurada en versiones anteriores de PHP cuando se configura la variable track_vars. (Esta configuración ésta desde PHP 4.0.3).
Para más detalles, incluyendo notas de bugs de los browsers, ver la función setcookie() y setrawcookie().