php - iPhone safari 上的 PHP setcookie() 失败(有时)
问题描述
我对 setcookie() 有一个奇怪的问题。它可以工作并且正在生产中,但有时它会失败并且仅在 iPhone 上。如果我们清除所有 cookie,一切都会恢复正常。这不是所有 iPhone 的问题,我无法重现该问题。但是偶尔,客户会报告问题。据我所知,它仅适用于 iPhone 上的 safari。
有谁知道如何解决这个问题或可以引导我走向正确的方向?
public function __construct()
{
$this->removeUserCookie();
}
private function setUserCookie($user): void
{
$encoded_user = base64_encode(json_encode($user));
$expires = time() + 60 * 60 * 24;
setcookie(self::COOKIE_NAME, $encoded_user, $expires, '/', $this->getDomain());
}
public function removeUserCookie(): void
{
if (isset($_COOKIE[self::COOKIE_NAME])) {
unset($_COOKIE[self::COOKIE_NAME]);
}
setcookie(self::COOKIE_NAME, null, time() - 3600, '/', $this->getDomain());
}
private function getDomain(): string
{
//return $_SERVER['HTTP_HOST'];
$exploded_domain = explode('.', $_SERVER['HTTP_HOST']);
$domain = implode('.', array_slice($exploded_domain, -2, 2));
return $domain;
}
任何帮助深表感谢。
解决方案
推荐阅读
- javascript - 如何使用 Intersection Observer 而不是 window.onscroll?
- android - 执行脚本时:“adb.exe:找不到设备/模拟器”
- java - 我的应用无法设置或接收来自 Firebase 的任何值,但另一个应用可以
- cesium - 使用 3D Web Map Client 列出建筑物的专题数据
- algorithm - 运行时间为 O(n^2 log n) 的算法示例?
- r - 为 R 中的每个时间点创建一个新变量
- plugins - 如何在 GIMP 插件中实现 Siril 的 MTF 算法
- laravel - 启动 laravel swagger 时重定向到正确的 docker 主机的问题
- typescript - 具有不能是自身的泛型类型的打字稿类
- python - 如何在python中将形状(885、1268)的图像更改为(1,254,254,3)?