2012-05-06 1 views
1

На локальном хосте все хорошо, но при развертывании появляется сообщение об ошибке «Ошибка чтения данных сеанса», когда я пытаюсь вызвать Session :: instance(). Где моя ошибка? Возможно, это проблема с сервером или ошибка Kohana?Ошибка при чтении данных сеанса при попытке «Session :: instance();» в Kohana

ответ

1

Можете ли вы разместить свой сеанс.php? Установили ли вы ключ шифрования, если используете параметр шифрования? Какой драйвер вы используете для хранения сеанса (файла, файла cookie, базы данных)?

+0

Я не использую шифрование. Магазин для сеанса является родным (cookie). Проблема решена путем добавления проверки на session_start в классе kohana. if ($ _SESSION) session_start(); Но хорошо? Я не знаю... – Meliborn

0

Если вы используете базу данных (или ORM) для сеансов, тогда «Ошибка чтения данных сеанса» обычно означает, что Kohana не может подключиться к базе данных. Убедитесь, что вы можете подключиться к базе данных.

Если вы используете файлы для сеансов, то проверьте папку, в которой записи на PHP пишутся.

+0

См. Предыдущий ответ pls. – Meliborn

+0

какой предыдущий ответ? –

+0

Я не использую шифрование. Магазин для сеанса является родным (cookie). Проблема решена путем добавления проверки на session_start в классе kohana. if ($ _SESSION) session_start(); Но хорошо? Я не знаю .. – Meliborn

2

В моем случае это проблема с сервером. Вчера у меня была аналогичная проблема, и это как я ее решаю.

  • первые, установить обработку ошибок ложных (на bootstrap.php, набор ошибки => лжи) для лучшей диагностики
  • обновления снова вашего браузера. у меня была ошибка при записи на C: \ xampp \ tmp. Оказывается, моя папка «TMP» не хватает (я не знаю, почему, вероятно, из-за misdeleting плохой привычки мыши)
  • создать папку TMP, сделана :)

Кстати, я использую «родной», как Kohana -session обработчик. Для xampp вы можете проверить xampp/apache/conf/extra/httpd-xampp.conf для «SetEnv TMP {ваш tmp dir здесь}». Другой LAMP-стек может меняться.

0

Моя проблема была в сеансе «native» kohana 3.3. Я получил сообщение об ошибках, считывая данные сеанса и сломанные данные или что-то в этом роде. Когда я проверяю любые данные из массива $_SESSION, например. echo $_SESSION['x'] было такое значение, в котором я нуждался, так почему это рассказывало мне об ошибке чтения?

Ошибка отображается в строке: $session = Session::instance(); Я пробовал много решений (например, php.ini) без успеха. Мой первый раствор:

try{ 
$session = Session::instance(); 
} 
catch (Exception $e){//do sth. eg. restrt sesion etc..} 

Но это было плохим решением, потому что через несколько месяцев проблема назад ко мне на другом сервере. Я получил сообщение Database_Exception [1030]: Получил ошибку 28 из механизма хранения ... или Database_Exception [126]: Неверный файл ключа для таблицы '/ramdisk/mysql/tmp/#sql_138c_2.MYI'; попытаться восстановить его [показать полные КОЛОННЫ ИЗ tabe]

Так что, когда на сервере нет места для файлов хранение МЫСЛИ вы получите thta ошибки «данные сеанса ошибок чтения» Решения сделать некоторое пространство на сервере. В моем случае я просто удаляю несколько очень старых файлов и некоторые файлы журналов.