PHP升级之后$SESSION丢失

原创
2016-06-13 10:57:39 801浏览

要在生产环境为一个内部系统升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!!!!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。