php验证session无效的解决方法
这篇文章主要介绍了php验证session无效的解决方法,涉及对session缓存目录的判断与修改,是进行session操作经常会遇到的问题,需要的朋友可以参考下
本文实例讲述了php验证session无效的解决方法。分享给大家供大家参考。具体方法如下:
一、问题
今天在配置 apache+php环境时折腾了很久很久,后来成功了但发现验证码图片可以生成,在登录验证时发现session为空,并没有值了。
二、解决方法
环境:apache+php
程序代码如下:
- <input name="username" type="text" class="input" >
- <input name="password" type="password" class="input" >
- <input name="ver" type="text" class="input1" size="5">
- <img src="../inc/ver.php" onclick="this.src='../inc/ver.php';" />
提交之后处理文件这post.php文件,代码如下:
- if($_SESSION['ssioner']!=$ssever){
- echo("<script>alert('验证码必须由4位数字组成!');history.back();</script>");exit;
- }
结果发现一直提示验证码必须由4位数字组成,再打印输出session:
echo $_SESSION['ssioner'];
exit;
一直为空了,于时我想到了php环境配置的一个session文件目录,现在我们找到php.ini配置文件找到
upload_tmp_dir
发现这个目录是
upload_tmp_dir="D:\www.phpfensi.com\tp"
我检查一下我的D盘发现只有www.phpfensi.com文件而没有tp目录了,这样问题就找到了,于时我创建一个tp目录,重启apache发现在tp目录有sess_i40gl0p4hfep5r69j67o1k26d01文件了,这样再重新登录发现成功了。
希望本文所述对大家的PHP程序设计有所帮助。