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)
任何帮助将不胜感激,因为我花了一整天的时间来解决这个问题,但似乎找不到解决方案。如果您需要更多信息,请告诉我。
检查会话 ID 是否更改(使用 session_id() )。此外,您可以缩写该行:
$_SESSION['views'] = $_SESSION['views']+ 1;
Run Code Online (Sandbox Code Playgroud)
和
$_SESSION['views'] += 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7124 次 |
| 最近记录: |