使用redis存储session无效,session_set_save_handler()一直返回false

开始接手祖传系统时发现用来存储session的redis服务里各个库都是空的,种种原因当时没有在意(心想难道有什么高超技术可以把存在redis里的session信息隐藏起来?不敢声张担心暴露我的无知),近期要搞上云迁移遂和运维的同事一起看了下原来的生产环境redis确实没有数据写入(运维同事:搞了主从的redis服务存了个寂寞?),于是决定一看究竟,临近下班加延迟半个多小时没找出原因,今天早上继续抽时间分析还是无果,全网也搜了个遍,一开始考虑是环境问题,但本地与线上都是同样的问题,按理说不应该,结果最后发现是大神在框架的index.php入口文件里先开启了 session_start()。什么鬼,这个操作损失我半天时间。

 

期间网上搜索类似问题看到有些网友遇到的与环境配置有关,如php.ini里的session.auto_start=1的情况需改为0,还有session.save_handler=files的情况说把配置改为user(此种情况我试了会报错),根据结果总结产生的可能原因有:
1.php.ini配置文件里的session.auto_start设为1了;

2.session_start()在你session_set_save_handler设置之前被调用了,这点很重要,否则怎么试都无用。

其实session.save_handle=files这个配置是不影响PHP的session_set_save_handler()函数的设置的。我的环境PHP版本:7.0.12。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值