Podane odpowiedzi nie rozwiązały mojego problemu,
To nie mialo miejsca:
- Usuń pliki cookie domeny nadrzędnej (z abc; usuń bc; pliki cookie),
- Usuń pliki cookie z wyższej ścieżki innej niż root.
Widzisz, mój skrypt to robi.
<?php function unset_cookie($name)
{
$host = $_SERVER['HTTP_HOST'];
$domain = explode(':', $host)[0];
$uri = $_SERVER['REQUEST_URI'];
$uri = rtrim(explode('?', $uri)[0], '/');
if ($uri && !filter_var('file://' . $uri, FILTER_VALIDATE_URL)) {
throw new Exception('invalid uri: ' . $uri);
}
$parts = explode('/', $uri);
$cookiePath = '';
foreach ($parts as $part) {
$cookiePath = '/'.ltrim($cookiePath.'/'.$part, '//');
setcookie($name, '', 1, $cookiePath);
$_domain = $domain;
do {
setcookie($name, '', 1, $cookiePath, $_domain);
} while (strpos($_domain, '.') !== false && $_domain = substr($_domain, 1 + strpos($_domain, '.')));
}
}
Nie jest to najbardziej ładne / bezpieczne / optymalne rozwiązanie, więc używaj go tylko wtedy, gdy nie znasz ścieżki pliku cookie i / lub domeny pliku cookie. Lub skorzystaj z pomysłu, aby stworzyć swoją wersję.