imarc / craft-dbsessions
专门为Craft CMS设计的数据库会话处理器
2.0.0
2020-12-03 19:41 UTC
Requires
- composer/installers: ~1.0
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可以直接与这些服务协同工作,但如果出于某种原因这些服务不可用,数据库也是可行的**。