2

在重定向到这样的外部 URL 之前,我在 Pantheon 上托管的 Drupal 应用程序中设置了一个 cookie(假设 URL 是 domain.com/step/1):

$expires = time()+(60*60*24);
setrawcookie('tourPath', '/step/1', $expires, '/');
header('Location: http://www.someexternalurl.com?redirect='.$callback_url);

外部 URL 以与该问题无关的方式处理请求,但随后重定向到$callback_url. 假设它是domain.com/callback. 无论如何,它在同一个域上,但它只是一个普通的 PHP 脚本(不在 Drupal 中)。

我在这里遇到的问题是,当重定向到回调脚本时,我可以在浏览器中看到tourPath设置了 cookie,但它不在 $_COOKIE 数组中。

我可以在 $_COOKIE 中看到各种 Drupal cookie,所以一般设置 cookie 没有问题。

我尝试setcookie()改用,但这没有帮助。

4

1 回答 1

3

在处理 pantheon 并设置您自己的 cookie/会话变量时,您需要根据他们的文档在 cookie 名称前面加上“SESS”:

https://pantheon.io/docs/articles/sites/varnish/caching-advancedtopics/

所以而不是:

setcookie('hi', 'howareyou?');

您需要使用:

setcookie('SESShi', 'howareyou?');
于 2015-11-25T23:03:17.587 回答