首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未使用PHP redis会话save_handler

未使用PHP redis会话save_handler
EN

Stack Overflow用户
提问于 2021-01-07 09:44:05
回答 1查看 283关注 0票数 0

我已经在一个运行k8s的高山容器中安装了php7-redis扩展。添加了一个可启用redis并设置主机的conf ini文件。这显示在phpinfo的输出中,但是正在部署的应用程序(flarum)似乎没有将其会话保存到redis。基本上是必需的,因为我们想运行flarum的多个副本。

phpinfo输出

代码语言:javascript
复制
session
Session Support enabled
Registered save handlers    files user redis rediscluster
Registered serializer handlers  php_serialize php php_binary
Directive   Local Value Master Value
session.auto_start  Off Off
session.cache_expire    180 180
session.cache_limiter   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly no value    no value
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_samesite no value    no value
session.cookie_secure   0   0
session.gc_divisor  1000    1000
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.lazy_write  On  On
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    redis   redis
session.save_path   tcp://flarum-redis-master:6379?auth=<redis-password>
session.serialize_handler   php php
session.sid_bits_per_character  5   5
session.sid_length  26  26
session.upload_progress.cleanup On  On
session.upload_progress.enabled On  On
session.upload_progress.freq    1%  1%
session.upload_progress.min_freq    1   1
session.upload_progress.name    PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix  upload_progress_    upload_progress_
session.use_cookies 1   1
session.use_only_cookies    1   1
session.use_strict_mode 0   0
session.use_trans_sid   0   0

我是否可以取消files user rediscluster的注册,只留下redis,或者以其他方式强制使用它?我看不到我错过了什么选项,也看不到为什么没有会话保存到redis。

我已经使用这个脚本测试了它应该是正常工作的

代码语言:javascript
复制
 <?php
session_start();
$count = isset($_SESSION['count']) ? $_SESSION['count'] : 1;
echo $count;
$_SESSION['count'] = ++$count;

刷新此test.php文件后,会话数据将以redis显示。flarum中有什么东西阻止了它的使用吗?

FYI php-fpm与nginx一起使用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-09 15:39:23

这并不像告诉PHP使用Redis那么简单。需要扩展才能使内置会话存储过载。请参阅https://discuss.flarum.org/d/25889-how-to-use-redis-for-session-storage上的讨论

由于我们在Kubernetes中,我发现flarum将会话文件存储在/flarum/app/storage/sessions中,所以我在那里安装了一个所有副本都可以使用的共享卷。到目前为止,测试表明这种方法运行良好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65605576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档