node.js — сессия совместного использования PHP на узле Express

Я попытался реализовать решение здесь: Как разделить сессию между NodeJs и PHP, используя Redis?

Это прекрасно работает, если я создаю сессию в Node, а затем загружаю свою страницу PHP. Сеансы объединяются. Мне нужно знать, как создать сеанс в PHP, а затем объединить его при посещении моего узла. Оба моих сайта находятся на одном домене 100%.

В этом фрагменте я добавил строку $ echo $ sess_id, и она выглядит как «» (мне кажется, в этом суть проблемы). Если я делаю session_id (‘temp’); ключ redis становится сессионным: php: temp, но, очевидно, он должен быть тем, что понимает nodeJS. Я также определенно использую тот же секретный ключ на узле / php.

    } else {
// let PHP generate us a new id
session_regenerate_id();
$sess_id = session_id();
echo $sess_id;
$hmac = str_replace("=", "", base64_encode(hash_hmac('sha256', $sess_id, EXPRESS_SECRET, true)));
// format it according to the express-session signed cookie format
session_id("s:$sess_id.$hmac");
}

Из-за этого, когда я выполняю ключи redis-cli *, я получаю ключ с именем session: php: без идентификатора сессии. если я делаю GET сеанс redis-cli: php: я получаю

"{\"php\":\"Hello from PHP\",\"cookie\":[]}"

Я знаю, что PHP говорит с Redis, он просто не сохраняет реальную сессию с идентификатором сессии.

Я был в этом в течение нескольких дней, любая помощь будет принята с благодарностью, и я был бы рад ответить на любые вопросы.

Это также ничего не стоит, я получаю без ошибок и следующие строки

echo json_encode($_COOKIE, JSON_PRETTY_PRINT);
echo json_encode($_SESSION, JSON_PRETTY_PRINT);

выход

[

]{
"php": "Hello from PHP",
"cookie": [

]
}

Если я запускаю сессию в узле, эти строки выводят полную информацию о куки / сеансе из узла с добавлением php hello из php (отлично сочетается).

0

Решение

Задача ещё не решена.

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

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

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