php验证session无效的解决方法

这篇文章主要介绍了php验证session无效的解决方法,涉及对session缓存目录的判断与修改,是进行session操作经常会遇到的问题,需要的朋友可以参考下

本文实例讲述了php验证session无效的解决方法。分享给大家供大家参考。具体方法如下:

一、问题

今天在配置 apache+php环境时折腾了很久很久,后来成功了但发现验证码图片可以生成,在登录验证时发现session为空,并没有值了。

二、解决方法

环境:apache+php

程序代码如下:

  1. <input name="username" type="text" class="input" >
  2. <input name="password" type="password" class="input" >
  3. <input name="ver" type="text" class="input1" size="5">
  4. <img src="../inc/ver.php" onclick="this.src='../inc/ver.php';" />

提交之后处理文件这post.php文件,代码如下:

  1. if($_SESSION['ssioner']!=$ssever){
  2. echo("<script>alert('验证码必须由4位数字组成!');history.back();</script>");exit;
  3. }

结果发现一直提示验证码必须由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程序设计有所帮助。