无法使用$ _COOKIE wordpress检索任何Cookie

时间:2014-10-29 14:52:02

标签: php wordpress cookies

我正在尝试检索我使用setcookie()设置的cookie。这些是会话cookie并设置为域站点的根目录。

经过大量测试后,问题已经归结为wordpress正在运行的某个服务器。它可以在我的本地甚至托管开发服务器上运行,但在生产服务器上它无法读取cookie。

目前正在设置cookie:

setcookie("visited", "true", mktime(23,59,59,12,31,2015), "/");

我也尝试过使用

setcookie("visited", "true", mktime(23,59,59,12,31,2015), "/", ".mydomain.com");

使其更易于访问,就像其他论坛所提到的那样。

我曾经在header.php文件中运行此代码,设置并使用php获取cookie,然后在找到wordpress后将其移动到functions.php将会破坏标题,这可能会搞砸了。这仍然无法解决问题。

任何建议都会受到赞赏吗?

1 个答案:

答案 0 :(得分:0)

如果您正在使用WP Engine,则由于其缓存系统,很可能$_COOKIE将是一个空数组。缓存的例外是带有包含wordpress_的cookie的页面。

您可以通过在该页面上创建以wordpress_为前缀的cookie来使用此漏洞,瞧瞧,$_COOKIE将会被填充。

JavaScript document.cookie = "wordpress_dummy=dummy; max-age=" + 60*60*24*99

PHP setcookie('wordpress_dummy', 'dummy', strtotime('+99 days'));

顺便说一句,仅在需要它们的页面上使用它。否则,您的站点将大大减慢速度,因为不会缓存任何内容。还应负责任地设置cookie过期时间。