错误描述
重新部署项目后验证码一直验证错误,初步判断应该是session无法保存,导致校验验证码时一直无法通过
- session无法保存的几种可能
- session存储路径(目录)不存在,自然就无法生成session临时文件
- session存储路径下有没有权限,如果没有,也就不可能存储session数据
- 能正常存session数据,但session存入后被清空
解决方法
- 在项目目录下创建phpinfo.php文件,在文件中写入phpinfo(),运行此文件,查看页面,
就可以找到session的存储路径。(直接查看配置文件看到的配置路径不一定正确)- 其次,进入linux中查找session存储路径是否存在,不存在创建存储目录,并分配权限,
如果有session存储路径,就查看其是否有权限,没有就分配权限.- 最后,是否是第三个原因,可在phpinfo.php页面中查找date.timezone是否设置不对,
然后在php.ini配置文件中找到date.timezone进行配置
备注
最后,提醒下各位,不要在配置文件中找session存储路径,上述方法找的session存储路径准确,
我花了大量时间才解决问题就是配置文件中的session存储路径和上述方法找到的session存储路径不同,
所以才一直没有解决问题。
网友评论