帝国cms的开启Memcached 导致qq互联无法使用的教程
问题已经找到了:session_start() 报出一串 “Failed to write session lock … memcached … SERVER HAS FAILED AND IS DISABLED” 的警告,说明当前 PHP 会话是存到 Memcached (127.0.0.1:11211),但是 Memcached 服务已经挂掉或连不上。帝国 CMS 的 QQ 回调依赖 Session 保存 state、back_url 等数据,一旦 Session 写不进去,就会直接判定授权状态失效,所以你看到的就是“授权状态已失效,请重新发起登录”。
要恢复正常登录,必须先修好 Session 存储。几种解决方案:
修复 Memcached 服务(推荐)
登录服务器执行
systemctl status memcached systemctl restart memcached
或根据面板把 Memcached 重启。
确认配置文件里有 session.save_handler=memcached 与 session.save_path="127.0.0.1:11211",重启 PHP-FPM 后,再访问探针/登录页面,不再有上述警告就说明 Session 正常写入。
改用文件会话(临时或永久方案)
在 php.ini(或帝国 CMS 专用的 php.ini/php-fpm.conf)中,将
session.save_handler = files session.save_path = "/tmp"
然后重载 PHP-FPM。这样 Session 会写到磁盘,避免 Memcached 出问题时整个登录不可用。
清理 Session 配置残留
如果你之前卸载过 Memcached,但是 php.ini 里依旧保留了 memcached 的配置,也需要改回 files 或其它可用的 Session 处理器。
等 Session 正常后,loginend.php 才能识别授权状态,QQ 登录自然就恢复了。建议先把 Memcached 重启试试,确认 qq_loginend_probe.php 不再报错,再重新走一次 QQ 登录流程。
下面是优化过登录后当前页面的qq互联三个文件:
下一篇:返回列表
相关推荐
-
帝国CMS多表调用最新信息的方法
这篇文章主要为大家介绍了帝国CMS多表调用最新信息的方法,主要通过灵动标签的sql语句调用结合union来实现,是非常实用的技巧,需要的朋友可以参考下
-
帝国CMS判断是否有内容分页的方法
帝国CMS判断是否有内容分页,有就显示,没有就不显示。以免没有的分页的时候占了一行位子,不是非常美观。
-
帝国CMS商城系统如何实现在线支付后发送订单邮件提醒功能
帝国CMS是个强大的内容管理系统,其商城的功能也很强大,当用户下单,支付后我们怎么知道有用户下单了呢?因为我们不能时时刻刻都在网站后台,不断的刷新页面去看有无订单,最常用的做法是用邮件提醒我们,有人下单了.
-
帝国CMS系统目录结构介绍
《帝国网站管理系统》目录结构介绍系统根目录
-
帝国CMS内容页附件中文显示或者显示代码名称下载
在帝国CMS模板制作中,比如内容页面显示该内容的附件地址,必须显示原始路径地址,或者说想要中文的路径地址。那么就要用以下方法来实现了:














