PHP会话无法正常工作

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP会话无法正常工作脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经放弃了这个问题,因为我怀疑某些东西损坏了我的设置导致了问题,并从此创建了一个新的服务器.我觉得发现这个问题会比启动一台新服务器和设置它花费更多时间.然而,我仍然有兴趣找出导致这种情况的原因,因为它运行了3个月并且在周末才开始出现这些症状. **

================================================== =============================

我有点初学者的问题,可能是因为我过去几个月一直在使用其他语言而且我似乎无法找出为什么这不起作用.
我已经制作一个非常简单的脚本来测试它,如下所示:

<?PHP session_start();
  PRint_r($_SESSION);
  if(isset($_SESSION['views'])){
      $_SESSION['views'] = $_SESSION['views']+ 1;
  }
  else{
      $_SESSION['views'] = 1;
  }
  echo "views = ". $_SESSION['views'];
  echo '<p><a href="">Refresh</a></p>';

  # for testing
  var_dump($_SESSION);

?>

会发生的事情是VAR_dump显示使用视图键和值1创建会话.但是,刷新页面时没有找到活动会话,并且视图键再次设置为1.

现在奇怪的是,在PHPSESSID下创建了一个会话ID.我试图检查存储会话的路径是否可写并且确实存在.页面返回的标题如下:

Cache-Control   no-Store,no-cache,must-revalidate,post-check=0,pre-check=0,public
Connection  close
Content-Encoding    gzip
Content-Length  68
Content-tyPE    text/htML; charset=utf-8
Date    Wed,18 Jan 2012 13:03:34 GMT
Expires Thu,19 Nov 1981 08:52:00 GMT
Pragma  no-cache
Server  apache
Vary    Accept-Encoding
X-UA-Compatible IE=Edge,chrome=1

在请求标头中,会话cookie按如下方式发送:

Cookie PHPSESSID=0e1416r7pun3PAMvc7cp8mjat3

我不确定那里是否有任何错误.我在amazon EC2 linux ami上运行它.

我还将包括PHPinfo():

PHP Version 5.3.6
Sy@L_360_15@  Linux ip-**-**-**-** *.*.**.**-**.**.amzn1.x86_64 #1 SMP Sat Feb 19 23:42:04 UTC 2011 x86_64 
session
Session Support     enabled    
Registered save handlers    files user    
Registered serializer handlers  PHP PHP_binary wddx    
Directive   Local Value Master Value    
session.auto_start  Off Off
session.bug_compat_42   Off Off
session.bug_compat_warn Off Off
session.cache_expire    180 180
session.cache_limITer   nocache nocache
session.cookie_domain   no value    no value
session.cookie_httponly On  Off
session.cookie_lifetime 0   0
session.cookie_path /   /
session.cookie_secure   Off Off
session.entropy_file    no value    no value
session.entropy_length  0   0
session.gc_divisor  1000    1000
session.gc_maxlifetime  1440    1440
session.gc_probability  1   1
session.hash_bits_per_character 5   5
session.hash_function   0   0
session.name    PHPSESSID   PHPSESSID
session.referer_check   no value    no value
session.save_handler    files   files
session.save_path   /var/lib/PHP/session    /var/lib/PHP/session
session.serialize_handler   PHP PHP
session.use_cookies On  On
session.use_only_cookies    On  On
session.use_trans_sid   0   0

任何帮助都会非常感激,因为我花了一整天时间来解决这个问题,但似乎无法找到解决方案.如果您需要更多信息,请告诉我.

解决方法

应该检查PHP.ini文件中的session.use_cookies.

响应的标题没有COOKIE.

session.use_cookies必须等于1.

脚本宝典总结

以上是脚本宝典为你收集整理的PHP会话无法正常工作全部内容,希望文章能够帮你解决PHP会话无法正常工作所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。