7

我有一个使用 . 构建的应用程序Codeigniter 3 HMVC。该应用程序在 PHP5.6版本上运行良好,但是在将我的 PHP 版本升级到之后,7.1.4我无法登录到我的应用程序。经过全面检查后,我发现会话根本没有设置。

我的角色回到 PHP5.6并且会话再次正常工作,而切换到 PHP7.1.4 带来了“会话不工作”问题。

我尝试更改一些配置值,例如 cookie 前缀和 cookie 保存名称等,似乎没有什么可以解决它。

任何人都可以请帮忙。

4

2 回答 2

15

我发现问题出在 Codeigniter 3 的一些早期版本上,这是他们网站上已经报告的错误。基础会话错误已修复:

  • 3.1.2
  • 3.1.3
  • 3.1.4

所以在最新版本的 Codeigniter 3 中,这个问题不会发生。

解决方案:

如果您已经处于错误版本的 codeigniter 中,请考虑将系统文件夹替换为最新版本的文件夹。撰写本文时的版本为 3.1.6。

于 2017-05-06T04:20:40.030 回答
0

在 XAMPP(windows)上的 codeigniter 3.1.9 和 PHP 7.2 中,我检查了我的 application/config/config.php 并看到 sess_driver 是数据库:

$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = '165_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = "ci_sessions";

所以我创建了数据库 ci_sessions:

CREATE TABLE IF NOT EXISTS `ci_sessions` (
        `id` varchar(128) NOT NULL,
        `ip_address` varchar(45) NOT NULL,
        `timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
        `data` blob NOT NULL,
        KEY `ci_sessions_timestamp` (`timestamp`)
);

它奏效了。

于 2021-01-22T06:30:29.270 回答