Чтение стандартного массива $_SESSION из друпала.

Главные вкладки

Аватар пользователя vilent vilent 6 марта 2009 в 9:17

Мне необходимо прочитать данные из стандартного массива $_SESSION в одном друпаловском модуле. Как мне удалось заметить - друпал переопределяет стандартные функции для работы с сессиями:

session_set_save_handler('sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy_sid', 'sess_gc');

Как это можно обойти? Дело в том, что параллельно с друпалом в одной из папок стоит скрипт интернет-магазина. То что заказывает пользователь храниться в сессиях. А мне необходимо выводить эти заказанные товары на страницах друпала.

UPD
Я знаю, что можно работать с сессиями, но друпал для этого использует свои функции. То есть к примеру если я внутри стороннего скрипта сделаю присвоение:
$_SESSION['var'] = 123;
то при чтении этого же значения из модуля в друпале это значение будет пустым.

Комментарии

Аватар пользователя vilent vilent 6 марта 2009 в 13:40

Этот массив пустой.
print_r($_SESSION); - выдает пустой массив.

Хотя если создать на этом же сервере скрипт:

<?
print_r($_SESSION);
?>

то он выдает то что нужно.

Аватар пользователя vilent vilent 6 марта 2009 в 13:48
foreach($_SESSION as $p=>$q)
{
    echo $p." = ".$q."<br/>";
}

ничего не выводится!
Если написать в индексном файле друпала в самом верху:

session_start();
print_r($_SESSION);

то все нормально!
Массив становится пустым в файле bootstrap.inc после строк:

require_once variable_get('session_inc', './includes/session.inc');
session_set_save_handler('sess_open', 'sess_close', 'sess_read', 'sess_write', 'sess_destroy_sid', 'sess_gc');
session_start();