Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 05 июл 2025, 19:42

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 01 июл 2012, 17:30 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
websto писал(а):
По-моему по-умолчанию сесии хранятся в файлах 'native'(Посмотри /system/classes/kohana/session.php).
Попробуй расширить класс сессии
в application/config создай файл session.php
return array(
'cookie' => array(
'name' => 'cookie_name',//или другое имя
'encrypted' => TRUE,
);

или что-бы не ломать её
'native' => array(
// PHPSESSID - наиболее распространённое название сессии,
// но можно подставить и другое
'name' => "PHPSESSID",
),

Да у меня есть этот файл, вот его содержание.
Код:
return array(
    'native' => array(
        'name' => 'session',
        'lifetime' => 43200,
    ),
    'cookie' => array(
        'name' => 'session',
        'encrypted' => TRUE,
        'lifetime' => 43200,
    ),
    'database' => array(
        'name' => 'session',
        'encrypted' => TRUE,
        'lifetime' => 43200,
        'group' => 'default',
        'table' => 'sessions',
        'columns' => array(
            'session_id'  => 'session_id',
            'last_active' => 'last_active',
            'contents'    => 'contents'
        ),
    ),
);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 июл 2012, 17:41 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Копаю все глубже и глубже :D
В базовом классе я пишу
Код:
Session::$default = 'cookie';
$this->session = Session::instance();

т.е. хранить сессию я буду в cookie. В конфиге прописано следующее для cookie
Код:
'cookie' => array(
        'name' => 'session',
        'encrypted' => TRUE,
        'lifetime' => 43200,
    ),

т.е. должна стартовать сессия с именем session, которая будет храниться cookie
На локалхосте она стартует, на хостинге - нет. Скрины выкладывал раньше.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 июл 2012, 19:19 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
Попробуй заменить или для начала попросту вызови на сайте session_start();.Посмотри на отличия между сессиями.У меня тоже была проблема с сессией в кохане но времени нет копаться, сделал просто через session_start.

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 июл 2012, 22:00 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
И еще когда заливаеш на хостинг нужно чтобы файлы были в нужной кодировке и сохранены без BOM.

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 июл 2012, 23:11 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
websto писал(а):
Попробуй заменить или для начала попросту вызови на сайте session_start();.Посмотри на отличия между сессиями.У меня тоже была проблема с сессией в кохане но времени нет копаться, сделал просто через session_start.

Резултат:
Код:
ErrorException [ Warning ]: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent by (output started at /home/madowlco/sub1/test/application/bootstrap.php:2)

APPPATH/classes/controller/base.php [ 2 ]
1 <?php defined('SYSPATH') or die('No direct script access.');
2 session_start();
3 /*
4  * Общий базовый класс
5  */
6 abstract class Controller_Base extends Controller_Template {
7    


Цитата:
И еще когда заливаеш на хостинг нужно чтобы файлы были в нужной кодировке и сохранены без BOM.

На локале все сохраняю в UTF без BOM. Я так понимаю, что если я все файлы перекидываю через фтр клиент на хостинг. то кодировка у них же не может поменяться


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 июл 2012, 11:26 
Не в сети
Бывалый

Зарегистрирован: 21 май 2012, 20:54
Сообщения: 81
Ну вот Cannot send session cookie - headers already sent by output started at - это значит что до старта сессии есть вывод в браузер или скорее всего файлы сохранены с BOM.Проверь по цепочке файлы касающееся сессий начиная с папки system и файлы в модуле.Свои может и сохранял без BOM а чужие наверняка не проверял.

_________________
Меньше кода -> меньше ошибок


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 июл 2012, 14:35 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Вот еще наткнулся на что, если поменять
Код:
Session::$default = 'cookie';

на
Код:
Session::$default = 'native';


то вообще ошибка
Код:
Session_Exception [ 1 ]: Error reading session data.

SYSPATH\classes\kohana\session.php [ 326 ]
321       }
322       catch (Exception $e)
323       {
324          // Error reading the session, usually
325          // a corrupt session.
326          throw new Session_Exception('Error reading session data.', NULL, Session_Exception::SESSION_CORRUPT);
327       }
328
329       if (is_array($data))
330       {
331          // Load the data locally


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 июл 2012, 14:52 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
УРАААА!!!!!
Наконец то я нашел решение проблемы. У меня файл bootstrap.php начинался со 2 строки. Удалил одну строку и все как часики)))


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group