php - 在 PHP 中跨服务器传输 session

标签 php session sessionid

我需要跨服务器传输用户 session 。 IE。如果用户登录 server1 并且用户存在于 server2 中,那么我必须将用户 session 详细信息传输到 server2。为此,我使用了以下技术

从 server1,将用户重定向到 http://server2/auth_from_server1.php?sessionid=12345 在 server2 上(在内部,在 auth_from_server1.php 的 PHP 代码中),向 http://server1/secret/check_session_id.php 发出请求。使用 sessionid,12345。 在server1上,在check_session_id.php的实现中,验证ID并返回OK,FAILURE,以及你要传递的session相关数据,比如用户名,... 在 server2 上,当调用返回 OK 时,存储传输的 session 数据,并为用户提供此服务器的 cookie 和 session 。

但是当回调函数调用auth_from_server1.php 时session id 中的值为null。我试着检查 sessionid 为

if(isset($_SESSION['sessionId']))
echo 'true';
else
echo 'false';

但是 $_SESSION['sessionId'] 为空。在登录页面中,我将 session ID 的值设置为

$_SESSION['sessionId'] = session_id();

提前致谢....

最佳答案

将 session 数据存储在共享目录中不是更容易吗?

或者您可以 store it在数据库中。

关于php - 在 PHP 中跨服务器传输 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4428032/

相关文章:

php str_replace函数问题

session - SQL Server 总是每小时运行一次查询

python - `MonitoredTrainingSession()`如何与 "restore"和 "testing mode"一起使用?

c++ - 在 C++ 中获取用户的登录 session

c# - 如何在 .Net C# 中处理并发 session

php - 如何在 php 中生成唯一的 session ID

php - 使用重定向类时 Laravel 白屏

php - 路由到 View 而不传递变量 - laravel

php - 如何检索社交网站的自定义用户搜索结果

java - session.createQuery() 在 spring 中不返回列表