在Apache虚拟主机之间传输会话数据

cro*_*ies 5 php apache session-variables

如何将PHP会话数据从一个Apache虚拟主机传递到另一个?我目前正在运行Apache 2.2.17和PHP 5.3.3并且我已经设置了一个主机来管理单个登录应用程序,我需要将其传递给另外两个运行单独应用程序的虚拟主机.这是我打算进一步发展的东西,但是现在传递会话数据将是最简单的.

目前,此代码在SSO子域auth.domain.com中创建第一个会话,然后将用户传递回应用程序界面app.domain.com(已修剪):

  $user = new User;
  $user->set_user_session();
  Header("Location: $redirectURL");
  exit;
Run Code Online (Sandbox Code Playgroud)

服务器完全由私有管理,因此多用户安全性不用担心.但是,如果有人发现任何安全问题,请告诉我.如果您知道更好的方法,请分享,我会进一步研究.我很感激帮助.

Fem*_*emi 3

据我所知,PHP 会话(默认情况下)不支持虚拟主机:您​​需要将会话 ID 作为重定向的一部分传递,然后将其设置在其他虚拟主机中。所以像这样:

$sessionid = session_id();
Header("Location: $redirectURL?session=$sessionid");
exit;
Run Code Online (Sandbox Code Playgroud)

然后在重定向的目标中:

session_id($_GET['session']);
session_start();
Run Code Online (Sandbox Code Playgroud)

尝试一下并让我知道它是如何工作的。