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?');
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]