0

当我切换到 AWS 负载均衡器(多台服务器)时,Session 应该保持唯一。当我以前登录我的网站时,会话丢失并重定向到主页。所以我尝试使用以下代码将会话存储在数据库中。

Configure::write('Session', array(
    'defaults' => 'database',
    'handler' => array(
        'model' => 'cake_sessions'
    )
));

但它用于在管理员注销时存储会话数据。我试图配置蛋糕会话处理程序接口失败。

如何在数据库中处理会话和缓存。

4

1 回答 1

0

我不了解负载均衡器,但您可以以各种方式处理会话,包括使用数据库。

这是 CakePHP 使用数据库进行会话的默认配置。

首先创建这个表:

CREATE TABLE `cake_sessions` (
    `id` varchar(255) NOT NULL DEFAULT '',
    `data` text,
    `expires` int(11) DEFAULT NULL,
    PRIMARY KEY (`id`)
);

然后,在 app/core.php 中配置您的会话

Configure::write('Session', array(
    'database' => array(
            'cookie' => 'CAKEPHP',
            'timeout' => 240,
            'ini' => array(
                'session.use_trans_sid' => 0,
                'url_rewriter.tags' => '',
                'session.use_cookies' => 1,
                'session.cookie_path' => static::$path,
                'session.save_handler' => 'user',
                'session.serialize_handler' => 'php',
            ),
            'handler' => array(
                'engine' => 'DatabaseSession',
                'model' => 'Session'
            )
        )
));
于 2017-02-15T09:02:01.377 回答