Убедитесь, что нет echo
до setcookie
вызова.setcookie
связывается с браузером через заголовок, и если вы звонили echo
ранее, заголовок + тело уже отправлено, и сервер больше не может отправлять setcookie
в браузер через заголовок.Вот почему вы можете увидеть, что он не работает.
В этом случае должна быть строка, подобная приведенной ниже, в предупреждении о выдаче файла журнала php-сервера:
DEFAULT: PHP Warning: Cannot modify header information - headers already sent by (output started at /path/to/your/script.php:YY) in /path/to/your/script.php on line XX