PHP升级之后$SESSION丢失

本文记录了一次将PHP从5.3升级到5.4.16的过程中遇到的问题:登录功能失效,原因是升级后session.save_path的所有权变更,导致PHP无法写入session,最终通过调整权限解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

              要在生产环境为一个内部系统升PHP版本,由5.3升成5.4.16

             生成以后发现不能login,一路打断点过去,发现服务器端两个页面跳转的时候,取不到$SESSION

              悲催的上网找解决方案,结果发现各种说法,

              先去查浏览器cookie, cookie是可用的, sessionID也能正常拿的到

              再去看代码, 代码写得很正常, 开头session_start, 中间$SESSION[XXX] = XXXX , 都很正常

              百思不得其解,快要发疯的时候

              我想起来, PHP是把session保存在哪里的呢

              Tomcat是可以选择序列化在数据库里,或者写本地文件,或者干脆保存在内存里

              PHP原来默认是保存在txt文件中, 保存的path是PHP.ini中的    session.save_path 

 

              阿弥陀佛,原来是升级PHP之后, 系统默认把session.save_path 的所有权交给了root, 而不是我当前运行PHP的用户

              PHP没权限把session写入这个path中,当然会丢失了。

              FFFFuck  狗日的PHP!!!!

 

#20130618 于南京#

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值