4

github配置声明我需要设置

$config['sess_use_database'] = TRUE;

这是将会话数据存储在 redis 中所必需的。

但是,来自CodeIgniter 的指南If$config['sess_use_database'] = TRUE;会话类将会话数据存储在数据库中。

我想了解,即使我们将 'sess_use_database' 配置设置为 true,如何绕过数据库写入。

其次,该方法需要安装phpredis扩展。

我已经从以下github 存储库安装了另一个 CI redis 库。

有人可以帮我配置来自 ericterpstra 的代码,[文件名:ci_sock/part_two/MY_Session.php] 以便它可以使用上面的库,而不是 phpredis?

4

2 回答 2

1

如果我没记错的话,phpredis是 PHP 的 C 扩展,其中CI redis库是 redis 客户端的纯 PHP 实现。您可能已经phpredis安装为扩展程序并且仍然使用您的CI redis库(尽管您可能希望转储它,因为它不再维护)。

如果您确实安装phpredis了,您可以通过将php.ini文件中的默认会话处理程序切换为使用 redis 来绕过整个 CodeIgnitor 会话配置问题。

这是来自https://github.com/phpredis/phpredis#php-session-handler的示例:

session.save_handler = redis
session.save_path = "tcp://host1:6379?weight=1, tcp://host2:6379?weight=2&timeout=2.5, tcp://host3:6379?weight=2"

这将透明地使用您的 redis 存储来存储会话。

于 2015-02-03T16:00:39.727 回答
1

Codeigniter 版本 3支持Redis 会话

编辑配置文件

$config['sess_driver'] = 'redis'; //enable redis session
$config['sess_save_path'] = 'tcp://localhost:6379'; // redis hostname:port 

官方文档 Redis 驱动

于 2015-11-26T05:44:51.453 回答