从github我需要设置的配置声明
$config['sess_use_database'] = TRUE;
这是将会话数据存储在redis中所必需的。
但是,从CodeIgniter's guide如果$config['sess_use_database'] = TRUE;
会话类将会话数据存储在数据库中。
我想了解,即使我们将'sess_use_database'配置为true,也会绕过数据库写入。
其次,该方法需要安装phpredis扩展。
我已经从以下github repository安装了另一个CI redis库。
有人可以帮我配置ericterpstra的代码,[文件名:ci_sock / part_two / MY_Session.php]这样它可以使用上面的库而不是phpredis吗?
答案 0 :(得分:1)
如果我没弄错,phpredis
是PHP的C扩展,其中CI redis
库是redis客户端的纯PHP实现。您可能已将phpredis
安装为扩展程序并仍然使用您的CI redis
库(尽管您可能希望将其转储,因为它已不再维护)。
如果您安装phpredis
,只需切换php.ini
文件中的默认会话处理程序即可绕过整个CodeIgnitor会话配置问题,以使用redis。
以下是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存储来存储会话。
答案 1 :(得分:1)
Redis会话
编辑配置文件
$config['sess_driver'] = 'redis'; //enable redis session
$config['sess_save_path'] = 'tcp://localhost:6379'; // redis hostname:port