首页 > 解决方案 > Cakephp 数据库会话

问题描述

我正在尝试配置数据库会话,所以我将这些行添加到 app.php

'Session' => [
        'defaults' => 'database',
        'timeout'  => 8032, 
        'cookieTimeout' => 10 * 8032, 
    ],

我已经创建了数据库表:

CREATE TABLE `sessions` ( 
  `id` char(40) CHARACTER SET ascii COLLATE ascii_bin NOT NULL, 
  `created` datetime DEFAULT CURRENT_TIMESTAMP, -- optional, requires MySQL 5.6.5+ 
  `modified` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- optional, requires MySQL 5.6.5+ 
  `data` blob DEFAULT NULL, -- for PostgreSQL use bytea instead of blob 
  `expires` int(10) unsigned 
  DEFAULT NULL, 
  PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8

但我仍然收到此错误:

Sessions致命错误:[Cake\ORM\Exception\MissingTableClassException]找不到别名的表类

我究竟做错了什么?

更多信息

CAKEPHP 版本:4.2.3

堆栈跟踪

[Cake\ORM\Exception\MissingTableClassException] Table class for alias `Sessions` could not be found. (/var/www/vhosts/domain/ShopManagment/vendor/cakephp/cakephp/src/ORM/Locator/TableLocator.php:245) #0 
/var/www/vhosts/domain/ShopManagment/vendor/cakephp/cakephp/src/Datasource/Locator/AbstractLocator.php(62): Cake\ORM\Locator\TableLocator->createInstance('Sessions', Array) 
#1 /var/www/vhosts/domain/ShopManagment/vendor/cakephp/cakephp/src/ORM/Locator/TableLocator.php(205): Cake\Datasource\Locator\AbstractLocator->get('Sessions', Array) 
#2 /var/www/vhosts/domain/ShopManagment/vendor/cakephp/cakephp/src/Http/Session/DatabaseSession.php(62): Cake\ORM\Locator\TableLocator->get('Sessions', Array) 
#3 /var/www/vhosts/domain/ShopManagment/vendor/cakephp/cakephp/src/Http/Session.php(274): Cake\Http\Session\DatabaseSession->__construct(Array) 
#4 /var/www/vhosts/domain/ShopManagment/vendor/cakephp/cakephp/sr in /var/www/vhosts/domain/ShopManagment/vendor/cakephp/cakephp/src/Error/ErrorHandler.php on line 196

标签: phpsessioncakephp

解决方案


推荐阅读