Các câu trả lời được cung cấp không giải quyết được vấn đề của tôi,
Nó đã không làm:
- Xóa cookie miền mẹ (khỏi abc; xóa bc; cookie),
- Xóa cookie khỏi một đường dẫn cao hơn sau đó root.
Kịch bản của tôi không, hãy xem.
<?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, '.')));
}
}
Đây không phải là giải pháp tốt nhất / an toàn / tối ưu nhất, vì vậy chỉ sử dụng giải pháp này nếu bạn không biết đường dẫn cookie và / hoặc tên miền cookie. Hoặc sử dụng ý tưởng để tạo phiên bản của bạn.