Кохана сессий и файлов не в рамках - PullRequest
2 голосов
/ 23 июня 2011

Я работаю над сайтом, который использует фреймворк Kohana. До сих пор у меня все было в порядке и я завладел проектом. Сегодня я реализую несколько сторонних функций, которые должны использовать переменную сеанса. Я могу установить переменную сеанса и использовать ее на страницах, которые используют контроллеры для их обслуживания, но если я выполняю ajax-вызовы или в этом случае вызовы сторонней страницы, данные сеанса мне не доступны.

Я не могу понять это. Я попробовал несколько вещей на форумах Kohana, но, похоже, ничего не работает.

Визуальный пример:

html
 html/application
  controller files
ajax.php
third-party.php

Если я вызываю ajax.php, я не могу получить доступ к данным сеанса, которые я устанавливаю на страницах "kohana".

мой файл system / config / session.php использует cookie в качестве драйвера. Истечение срока и Регенерация установлены на 0.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 13 апреля 2012

Из того, что вы говорите о конфигурации сеанса, я думаю, что вы используете Kohana 2.x.

И Kohana 2 очищает $ _GLOBALS .Поэтому у вас могут возникнуть проблемы с доступом к собственным массивам $_POST, $_COOKIE, $_SESSION, $_GET, $_GLOBALS и $_REQUEST.

Я рекомендую использовать собственный драйвер для библиотеки сеансов, ноЯ настоятельно рекомендую еще больше перейти на Kohana 3.x.

0 голосов
/ 11 июля 2011

Это потому, что вы используете драйвер сеанса cookie.Вы, вероятно, сможете получить доступ, если используете «родной» драйвер, который использует внутренний сеанс php.

Как уже было сказано выше, есть ли какая-то причина, по которой вы не собираете ajax.php внутриKohana?Это избавило бы вас от многих проблем.

С другой стороны, можно расшифровать сессию из вашего внешнего ajax.php (что я бы не советовал, но пришлось сделать, чтобы получитьданные сеанса kohana, переданные в установку WordPress, запущенную на поддомене.

...