mohit-singh / db-session

该包最新版本(dev-master)没有提供许可证信息。

在zend framework 2中数据库中存储会话

dev-master 2014-07-04 09:37 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:42:16 UTC


README

在ZF2中数据库中存储会话。

如何使用

这是一个非常简单的模块,用于将所有会话数据存储在数据库中。为此,请使用以下模式创建一个表。

CREATE TABLE `session` (
  `id` char(32) NOT NULL DEFAULT '',
  `name` varchar(255) NOT NULL,
  `modified` int(11) DEFAULT NULL,
  `lifetime` int(11) DEFAULT NULL,
  `data` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

现在更新配置中的以下数据库要求

    'db' => array(
        'driver'         => 'Pdo',
        'dsn'            => 'mysql:dbname=db_name;host=localhost',
        'username'       => 'user_name',
        'password'       => 'xxxxxxx', 
        'host'           => 'localhost',
        'dbname'         => 'db_name',
        'driver_options' => array(
            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
        ),
    ),
    'service_manager' => array(
        'factories' => array(
            'Zend\Db\Adapter\Adapter'
                    => 'Zend\Db\Adapter\AdapterServiceFactory',
        ),
    ),

如果您已经在全局配置中定义了所有这些值,请删除它们。

现在该模块已准备就绪,可以使用以下配置值进行设置

'session' => array(
        'remember_me_seconds' => 2419200,
        'use_cookies'       => true,
        'cookie_httponly'   => true,
        'cookie_lifetime'   => 2419200,
        'gc_maxlifetime'    => 2419200,
    
    ),

请注意,如果您将 "use_cookies" 设置为 "false",则每次应用程序都会在数据库中创建一个新的会话,并且您的会话数据将被删除。