PHP 会话不工作

Mar*_*iet 5 php session amazon-ec2

我已经放弃了这个问题,因为我怀疑某些东西破坏了我的设置,导致了问题,并从那时起创建了一个新服务器。我认为发现问题比启动新服务器并设置它要花费更多的时间。不过,我仍然有兴趣找出导致此问题的原因,因为它完美运行了 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);

?>
Run Code Online (Sandbox Code Playgroud)

发生的情况是,var_dump 显示创建了一个会话,其键为views,值为1。但是,当刷新页面时,没有找到活动会话,并且views 键再次设置为1。

现在对我来说奇怪的是在PHPSESSID下创建了一个会话id。我尝试检查存储会话的路径是否可写,并且确实如此。页面返回的header如下:

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
Run Code Online (Sandbox Code Playgroud)

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

 Cookie PHPSESSID=0e1416r7pun3pamvc7cp8mjat3
Run Code Online (Sandbox Code Playgroud)

我不确定里面是否有什么问题。我在 Amazon EC2 Linux AMI 上运行它。

我还将包括 phpinfo():

PHP Version 5.3.6
System  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
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激,因为我花了一整天的时间来解决这个问题,但似乎找不到解决方案。如果您需要更多信息,请告诉我。