PHP 在非 Drupal 脚本中无法访问在 Drupal 中设置的 cookie

PHP cookie set within Drupal inaccessible in non-Drupal script

我正在 Pantheon 上托管的 Drupal 应用程序中设置一个 cookie(假设 URL 是域。com/step/1),然后立即重定向到外部 URL,例如这个:

$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 cookies,所以设置cookies一般没有问题。

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

在处理 pantheon 并设置您自己的 cookies/session 变量时,您需要根据此处的文档在 cookie 名称前加上 "SESS":

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

所以代替:

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

您需要使用:

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