You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TikiWiki及PHP升级后登录“记住我”功能失效求助

Tiki Wiki 27+PHP8.3下「记住我」功能失效的排查方案

核心排查方向及修复建议

1. 优先检查Tiki内部的Cookie/会话配置(别只盯着php.ini)

从你提供的配置截图来看,重点确认以下几项:

  • Cookie生命周期:截图里的Cookie lifetime(单位秒)必须设为大于0的数值,比如要实现“记住我”至少设为86400(1天),长期记住可以设2592000(30天),设为0的话就是会话级Cookie,关闭浏览器就失效
  • SameSite属性:PHP8.0+默认SameSite为Lax,如果你的站点用HTTPS,建议把Tiki的Cookie SameSite设为None,同时必须开启Cookie secure选项(确保仅HTTPS下传输Cookie),否则浏览器可能会拒绝保存持久化Cookie
  • 会话存储方式:升级后Tiki的会话存储可能默认切换,比如从文件存储改为其他方式。如果用文件存储,要确认session.save_path对应的服务器目录有PHP进程的读写权限,PHP8.3对目录权限的校验比7.4更严格

2. 适配PHP8.3的会话机制变化

  • 禁用PHP自动会话垃圾回收:PHP8.3的会话GC触发逻辑可能和Tiki自带的回收机制冲突,可在php.ini里把session.gc_probability设为0,让Tiki自行处理会话过期
  • 校验Cookie安全属性:确保session.cookie_secure=On(HTTPS站点)、session.cookie_httponly=On,PHP8.3会拒绝不符合安全标准的持久Cookie存储

3. 清理缓存及排查插件冲突

  • 清空Tiki全量缓存:后台找到「清空缓存」功能,清理模板缓存、会话缓存;同时重启PHP-FPM或调用opcache_reset()清理OPcache
  • 禁用第三方插件:先禁用所有非官方插件,切换到Tiki默认主题测试,排查是否是插件/主题升级后不兼容导致的会话异常

实用调试步骤

  1. 查看浏览器Cookie状态:按F12打开开发者工具→「Application」→「Cookies」,找到站点的会话Cookie(通常名为tiki_session),检查Expires/Max-Age是否和设置的生命周期一致。如果显示「Session」,说明Cookie未被设置为持久化,问题出在Tiki配置未生效
  2. 核对实际生效的PHP参数:在Tiki后台打开phpinfo页面,搜索session相关参数,确认session.cookie_lifetime、session.gc_maxlifetime等是否是你设置的值(Tiki代码可能会覆盖php.ini的配置)
  3. 开启错误日志排查:在Tiki的local.php中添加代码:error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('session.log_level', 3);,查看是否有会话相关的错误提示

内容的提问来源于stack exchange,提问作者Georgi Bonchev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:34:57