Задать вопрос
multifinger
@multifinger

Хранение сессий в БД Symfony 1.4 sfPDOSessionStorage?

Настраиваю хранение сессий в БД, вот конфиг:



storage:<br/>
 class: sfPDOSessionStorage<br/>
 param:<br/>
 db_table: sf_sessions<br/>
 database: doctrine<br/>
 db_id_col: sess_id<br/>
 db_data_col: sess_data<br/>
 db_time_col: sess_time<br/>




Все бы ничего, но при установки sfUser->setFlash() сессия сбрасывается, точнее все атрибуты сессии и при попытке обратиться к методам sfuser получаю фатал с объяснением, что вызван метод несуществующего объекта.



Кто сталкивался или может поделиться догадками? Как настроить хранение сессий в БД для Symfony?
  • Вопрос задан
  • 2647 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
MuXaJIbI4
@MuXaJIbI4
уже не помню с чем это было связано… так как щас использую 2 версию симфони… но в старых проектах было так

storage:
class: mySessionStorage
param:
session_name: soccer
db_table: session
database: main
regenerate: false


И сам класс mySessionStorage.php

<?php
/**
* Adds option for turning off regenerate session id
*
* parameters: see sfSessionStorage
*
* @package symfony
* @subpackage storage
* @author Mathew Toth <developer@poetryleague.com>
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
* @author Sean Kerr <sean@code-box.org>
* @author Sergei Miami <miami@blackcrystal.net>
* @version SVN: $Id$
*/
class mySessionStorage extends sfPDOSessionStorage
{
public function initialize($options = array())
{
// add 'regenerate' option, that is true by default in symfony
$options = array_merge(array(
'regenerate' => true,
), $options);

// initialize the parent
parent::initialize($options);
}

public function regenerate($destroy = false)
{
if ( (bool) $this->options['regenerate'] === true)
{
return parent::regenerate($destroy);
}
}

}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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