在另一个codeigniter应用程序中使用php应用程序会话

在另一个codeigniter应用程序中使用php应用程序会话,php,codeigniter,session,Php,Codeigniter,Session,我正在使用一个现有的php应用程序,它有不同的接口,如管理员、代理和客户。 我使用codeignitor创建了一个新的代理接口。对于登录到代理门户,我使用旧应用程序中的现有代理登录页面,但在登录成功后,应该加载新的代理界面 在旧的应用程序中,使用了会话,并且代理id存储在会话变量中 当我尝试在新代码中使用此会话变量时,我收到一条错误消息…找不到变量。如何将第一个应用程序中的会话变量用于新接口 当我在第一个应用程序和一个新的codeignitor代码页中打印会话名称时,我可以看到两个会话都不同。我

我正在使用一个现有的php应用程序,它有不同的接口,如管理员、代理和客户。 我使用codeignitor创建了一个新的代理接口。对于登录到代理门户,我使用旧应用程序中的现有代理登录页面,但在登录成功后,应该加载新的代理界面

在旧的应用程序中,使用了会话,并且代理id存储在会话变量中

当我尝试在新代码中使用此会话变量时,我收到一条错误消息…找不到变量。如何将第一个应用程序中的会话变量用于新接口

当我在第一个应用程序和一个新的codeignitor代码页中打印会话名称时,我可以看到两个会话都不同。我认为这就是问题所在,因为Codeignator管理它的会话


我在谷歌上搜索并了解了会话设置保存路径和所有内容,我不确定我需要在这里做什么来解决这个问题。

记住,两个项目/应用程序应该存在于同一台服务器上

默认情况下,codeignitor作为会话跟随COOKIE,因此您必须使用任何PHP本机会话库编写该库

然后以双向加密格式通过CRUL、POST或URL将会话id传递给该项目。不要忘记加密会话id

从项目1:

//to get the session id
$id = session_id();

//do some custom encryption
$id = 'ajhkdhfasjdhfajsdfhkjadf';

**Ref:**
http://www.php.net/manual/en/function.mcrypt-encrypt.php
项目2:

Ref:

在启动会话之前初始化会话id,如下所示

//do some custom encryption
$id = $this->input->get('id');

//decrypt the value

session_id($id);

session_start();
现在您可以访问会话值

当我在第一个应用程序和其中一个应用程序中打印会话名称时 新的codeignitor代码页,,我可以看到两个会话都不同。 我认为这就是问题所在,因为Codeignator管理它的会话

您对CI处理其自己的会话的看法是正确的,解决此问题的方法是使用本机会话库


另一种方法是让CI使用数据库会话,只需将会话ID传递给新应用程序,就可以从数据库中选择正确的数据

如果它在同一个域上,那么它不应该是problem@rajeevraj33你有有效的解决办法吗?