У меня есть сайт, который поставляется PHP, и у каждого пользователя есть сеанс, сохраненный в файле php, когда он вошел в систему.
Мой вопрос: возможно, без redis или memcached, получить сессию из php-файла на сервер node.js или, если нет, как я могу сделать это с redis memcached?
Независимо от того, как вы храните свои сессии PHP, если вы хотите обмениваться данными с внешним приложением, они должны обрабатываться из вашего приложения PHP. Это дает вам возможность изменить обработку вашего сеанса позже, избегая при этом написания некоторого пользовательского кода синтаксического анализа данных в вашем приложении Node.js.
<?php
session_id($_GET['sessionId']);
echo json_encode($_SESSION);
Затем в вашем приложении Node.js вы можете получить /getSessionData.php?sessionId=0123456789abcdef
или что угодно. Обратите внимание, что вы должен заблокируйте этот скрипт так, чтобы он был полностью недоступен, за исключением других ваших приложений. В противном случае вы бы открыли себя для неприятной дыры в безопасности. Кроме того, если вы еще не чередуете идентификаторы сеансов, вам все равно следует переписать обработчик сеансов, чтобы было трудно переиграть запросы со старым идентификатором сеанса.
Других решений пока нет …