imarc/craft-dbsessions

专门为Craft CMS设计的数据库会话处理器

安装: 292

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 5

分支: 0

开放问题: 0

类型:craft-plugin

2.0.0 2020-12-03 19:41 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:38 UTC


README

适用于Craft 2.x。使用Craft现有的数据库和缓存库设置数据库会话处理器,以确保始终只创建单个数据库连接。

这并非真正的Craft插件,但最好以插件的形式进行分发。

安装

通过composer安装(推荐)

composer require imarc/craft-dbsessions

或者将所有文件放入craft/plugins/dbsessions目录。

使用方法

将以下内容添加到您的public/index.php文件的顶部

require __DIR__ . '/../craft/plugins/dbsessions/SessionHandler.php';
\Imarc\CraftDatabaseSessions\SessionHandler::register();

现在您的会话将存储在Craft的数据库中,而不是在文件系统中。

此库使用的数据库表dbsessions_sessions应自动创建。如果存在严格的数据库权限限制,您可以使用以下迁移手动创建表:

CREATE TABLE dbsessions_sessions (
    id char(128) NOT NULL PRIMARY KEY,
    expire int(11) NULL,	 
    value longblob NULL
);

为什么?

有时,在高可用性环境中,多个应用服务器的情况下,直接将会话存储在文件系统中并不理想,因为没有一致性来确定最终用户访问的是哪个应用服务器。**建议使用Redis或Memcached来存储会话,因为Craft可以直接与这些服务协同工作,但如果出于某种原因这些服务不可用,数据库也是可行的**。