Проблема с удалением кук - почему-то зависит от строки вызова PHP скрипта

E
На сайте с 01.10.2011
Offline
27
679

Приветствую всех!

Экспериментировал с куками. Выяснил интересную вещь. Куки не удаляются php-скриптом, если добавить в строке вызова через слеш какие-нибудь "пути".

Вот начало скрипта, вывод данных через echo и print_r опускаю:

<?php

session_start();

$s_n=session_name();

setcookie('id', '', time()-60*60*24*30,'/', '');
setcookie('hash', '', time()-60*60*24*30,'/', '');
setcookie($s_n, '', 0, '/', '');

........................

?>

Сам по себе скрипт работает прекрасно. Но! Если вызвать его не так

http://...путь.../test.php

а так

http://...путь.../test.php/any/text

, где any и text - произвольный текст, то куки не чистятся!!! При этом смотрю заголовки:


Set-Cookie: id=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
Set-Cookie: hash=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
Set-Cookie: PHPSESSID=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/

Пробовал много всего. И так

setcookie('hash', null, -1, '/');

И так

setcookie('hash', '');

и даже так

unset($_COOKIE['hash']);

Как могут повлиять дополнительные параметры после слеша на удаление кук? Для полноты информации сообщаю дополнительные данные:

1. Запускаю скрипт со своего VPS в виде

[адрес VPS] / [путь по дереву VPS] / test.php/any/text

2. На локальном ПК:

ОС
Linux 2.6.35.14-106.fc14.i686.PAE i686

Броузер
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:18.0) Gecko/20100101 Firefox/18.0

3. На сервере:

PHP Version 5.3.27
Server API Apache 2.0 Handler

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий