PHP cookie, установленный в Drupal, недоступен в не-Drupal скрипте

Я устанавливаю файл cookie в приложении Drupal, которое размещено в Pantheon (скажем, URL-адрес domain.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 в $_COOKIE, так что в целом нет никаких проблем с настройкой файлов cookie.

Я пытался с помощью setcookie() вместо этого, но это не помогло.

1 ответ

Решение

При работе с пантеоном и настройке собственных файлов cookie / сеансов вам необходимо добавить имя файла cookie с помощью "SESS" в соответствии с их документацией:

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

Так что вместо:

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

Вам нужно будет использовать:

setcookie('SESShi', 'howareyou?');
Другие вопросы по тегам