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

共享主机PHP会话存Redis失败:独立用户配置后无数据写入

问题排查与解决

1. 会话提前关闭导致数据未写入

你的PHP脚本中使用了session_start(['read_and_close' => true]),该选项会在读取会话数据后立即关闭会话连接,后续对$_SESSION的修改无法被写入Redis——因为会话已经关闭,PHP不会触发写入操作。

解决方法:移除read_and_close参数,或在修改$_SESSION后手动调用session_write_close()触发写入:

<?php
ini_set('display_errors', 1);
session_start();
$_SESSION['hello'] = 'world';
session_write_close(); // 手动执行会话写入
echo $_SESSION['hello'];
die();

2. Redis认证密码不匹配

Redis用户web1的配置密码是hello(对应配置行>hello),但PHP-FPM配置中写的是auth[password]=web1,密码不一致会导致PHP无法成功向Redis写入数据(你用redis-cli测试正常是因为使用了正确密码)。

修改/etc/php/8.1/fpm/pool.d/web1.conf中的密码配置:

php_value[session.save_path] = "tcp://127.0.0.1:6379?auth[username]=web1&auth[password]=hello&prefix=web1_PHPREDIS_SESSION:"

验证步骤

修改完成后执行以下操作确认:

  • 重启PHP-FPM服务:systemctl restart php8.1-fpm
  • 重启Redis服务:systemctl restart redis-server
  • 访问test.php后,用redis-cli登录web1用户,执行KEYS web1*查看是否生成会话Key

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:22:47