Доступ к переменным от двух различных сессий?

Я интегрировал WHMCS и Drupal. Однако, когда Вы переходите к Drupal и Вам print_r СЕССИЯ, Вы видите совершенно другую информацию, чем, что Вы сделали бы, если Вы переходите к страницам WHMCS. Так, мой вопрос, как я получаю доступ к сессии от другой?

Я должен получить доступ к нему, чтобы видеть, зарегистрирован ли пользователь или нет.

1
задан kiamlaluno 22 July 2010 в 13:59
поделиться

2 ответа

Значения, которые вы получите, зависят от директивы session.name в php.ini. Если вы хотите, чтобы они могли читать друг друга, то установите одинаковые значения session.name.

Вернее, данные сессии будут загружаться на основе идентификатора в cookie с тем же именем session.name. По умолчанию это PHPSESSID, но вы можете изменить его самостоятельно.

Вы можете установить его во время выполнения с помощью ini_set() или session_name().

1
ответ дан 2 September 2019 в 22:51
поделиться

Drupal регистрирует свои собственные функции обработки сеанса через session_set_save_handler () во время начальной загрузки ( drupal_bootstrap () ). Он также устанавливает собственное имя сеанса в conf_init () .

Из-за обработчиков Drupal восстановление имени сеанса WHMCS перед использованием стандартного сеанса PHP не сработает. PHP будет использовать обработчик Drupal для открытия, чтения, записи и т. Д. Информации о сеансе. Все, что вы получите, это данные для неправильного сеанса Drupal, возвращенные из sess_read () при вызове PHP.

Один из способов прочитать сеанс WHMCS - выяснить, как он хранится, и получить к нему доступ без использования функций сеансов PHP.

Другой способ может заключаться в отмене того, что сделал Drupal (изменение имени сеанса и регистрации обработчиков) для восстановления стандартного поведения функций сеанса PHP, чтения сеанса WHMCS и восстановления Drupal имя сеанса и обработчики.

1
ответ дан 2 September 2019 в 22:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: