我需要跨服务器传输用户 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/