идентификатор сеанса cakephp Пусто - PullRequest
0 голосов
/ 19 апреля 2011

Идентификатор сеанса пуст, когда я делаю: pr($this->Session); Я получаю:

SessionComponent Object
(
    [__active] => 1
    [__bare] => 0
    [valid] => 1
    [error] => 
    [_userAgent] => 5343528de22b8a6d25e7fd391692c911
    [path] => /profiles
    [lastError] => 
    [security] => medium
    [time] => 800-452-3639
    [sessionTime] => 800-452-3639
    [cookieLifeTime] => 720000
    [watchKeys] => Array
        (
        )

    [id] => 
    [host] => xyz.org
    [timeout] => 
    [enabled] => 1
)

Как включить или включить идентификатор сеанса или создать идентификатор сеанса?

Ответы [ 3 ]

5 голосов
/ 19 апреля 2011

Если вам действительно нужен идентификатор сеанса, вам нужно начать сеанс.Попробуйте это в вашем фильтре before:

$this->Session->start();
$this->Session->id(session_id());

Затем, когда вы pr($this->Session->id());, вы увидите новый идентификатор сессии.

2 голосов
/ 19 апреля 2011

Cake пассивно об этом заботится - вам не нужно его устанавливать.Просто сделайте вызовы read (), write () по мере необходимости.

$this->Session->write('key', $value);

$value = $this->Session->read('key');
1 голос
/ 14 сентября 2015

Просто используйте

echo $ this-> Session-> id (); // печатает как 7gl7bo9gv38rj0sjtqo52dkeu5

в контроллере. Нет необходимости запускать () или что-то еще. Cakephp (протестирован в 2.7) автоматически делает его доступным для вас.

...