1

我已经集成了 WHMCS 和 Drupal。但是,当您访问 Drupal 并 print_r SESSION 时,您看到的信息与访问 WHMCS 页面时所看到的完全不同。所以,我的问题是,我如何从另一个访问一个会话?

我需要访问它,以查看用户是否已登录。

4

2 回答 2

1

session_set_save_handler()Drupal 通过在 bootstrap ( ) 期间注册自己的会话处理函数drupal_bootstrap()。它还在conf_init().

由于 Drupal 的处理程序,在使用标准 PHP 会话之前恢复 WHMCS 的会话名称将不起作用。PHP 将使用 Drupal 的处理程序来打开、读取、写入等会话信息。您将得到的只是sess_read()PHP 调用时返回的错误 Drupal 会话的数据。

读取 WHMCS 会话的一种方法是弄清楚它是如何存储的并在不使用 PHP 会话函数的情况下访问它。

另一种方法可能是撤销Drupal 所做的(更改会话名称和注册处理程序)以恢复PHP 会话函数的默认行为,读取 WHMCS 的会话并恢复 Drupal 的会话名称和处理程序。

于 2010-07-25T10:34:24.320 回答
1

您将获得的值取决于session.name. php.ini如果您希望他们能够阅读彼此的内容,请设置相同的session.name.

或者更确切地说,会话数据将根据 cookie 中同名的标识符加载session.name。这默认为PHPSESSID,但您可以自己更改它。

您可以在运行时使用ini_set()或进行设置session_name()

于 2010-07-22T14:32:00.617 回答