Skip to content

Session

AntonShevchuk edited this page Oct 13, 2014 · 11 revisions

Описание

с версии 0.5.0 изменилась структура конфигурации пакета

Обертка для работы с $_SESSION, поддерживается так же адаптеры, на данный момент реализованы Redis и Cache

Настройки

Сохранение на файловой системе

// config file session.php
return array(  
    "adapter" => "files",
    "settings" => array(
        "cache" => array(),
        "files" => array(
            "save_path" => PATH_DATA .'/sessions'
        ),
        "redis" => array(
            "host" => '10.10.0.116'
        )
    )
),

Для хранения сессии в memcached используем соответствующие настройки в php.ini, не следует для этого использовать отдельный велосипед, пример есть ниже.

Использование

с версии 0.6.0 изменился способ вызова - теперь только через Proxy

Пример использования сессии, инициализация и старт сессии лежит на соответствующем Proxy

Session::set('test', 'Test: '.date("H:i:s"));
echo Session::get('test');

Информация

Сессия не будет стартовать если не увидит у пользователя cookie соответствующую PHPSESSID, или пока мы явно не внесём изменения в сессию пользователя.

Memcached имеет возможность повесить на него механизм сессии, для этого потребуется внести изменения в php.ini:

session.save_handler = memcached
session.save_path="server:port"

Не путайте два расширения - memcache и memcached, у них и настройки разные:

; Memcache
session.save_handler = memcache
session.save_path = "tcp://localhost:11211"
; MemcacheD
session.save_handler = memcached
session.save_path = "localhost:11211"

В системе используем memcached, так он живёт и здравствует, т.е. поддерживается и обновляется

You can’t perform that action at this time.