session_id经常变,导致无法正常使用session。世界太难题!

不懂必须要问 2011-03-28 12:26:19
先执行sessionset.php文件,当页正常,一刷新的时候session_id返回的ID就变了。每刷新都变一次!sessionget.php这个文件是得到session值的,但得不到。因为session_id不同,根本取不取那个session文件。目录是可以写的!如果指定一个session_id(1xxxxx)每个页都添加这个,可以页之间传递session值。但如果没有指定session_id的话,每次刷新都变。我在本地的XP IIS5.1、windows 2008 IIS7、LINUX都测试过,代码是非常正常的。不存在什么问题,上传到服务器后也检测了session_save_path目录的可写性,完全通过。但为什么会这样?

文件:
sessionset.php
代码:

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>session set</title>
</head>

<body>
<?php
$_SESSION['sessionValue'] = 'session';
var_dump($_SESSION['sessionValue']);echo "<br />";
var_dump(session_id());echo "<br />";
var_dump(session_save_path());echo "<br />";
/*如果觉得是文件夹问题,这里就表明文件没问题*/
var_dump(fopen(session_save_path().'./'.date('YmdHis').'.txt', 'w'));
phpinfo();
?>
</body>
</html>


结果:
string(7) "session"
string(32) "12df82f6208c0ec6418484960f06486f"
string(11) "D:/Temp/php"
resource(2) of type (stream)


文件:
sessionset.php
代码:

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>session get</title>
</head>

<body>
<?php
var_dump($_SESSION['sessionValue']);echo "<br />";
var_dump(session_id());echo "<br />";
var_dump(session_save_path());echo "<br />";
/*如果觉得是文件夹问题,这里就表明文件没问题*/
var_dump(fopen(session_save_path().'./'.date('YmdHis').'.txt', 'w'));
?>
</body>
</html>

NULL
string(32) "d60ec0ba156a3bc8f40aef86852ba87b"
string(11) "D:/Temp/php"
resource(2) of type (stream)

PHP信息

...全文
1532 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
不懂必须要问 2011-04-02
  • 打赏
  • 举报
回复
不行啊,什么COOKIE都不行咯

天降大任于斯 2011-04-02
  • 打赏
  • 举报
回复
session.use_trans_sid 这个配置改成0试试
不懂必须要问 2011-03-28
  • 打赏
  • 举报
回复
以前放在其他服务器是正常的。后来换到这个服务器,前一段时间是正常。后来出现问题和客服说了,但是客服说我编码问题?我完全检测过不下百次。根本没有任何问题,难到说是BOM?不可能!还能是什么问题?配置问题,和配置基本一样。

任何人浏览都是这样的结果。不单我自己浏览。COOKIES完全可以用的,不然我也登录不了这里发信息了。
lazyboy_wu 2011-03-28
  • 打赏
  • 举报
回复
看cookie信息是否获取正确呢

var_dump($_COOKIE)

session 也是靠cookie记载session id
不懂必须要问 2011-03-28
  • 打赏
  • 举报
回复
真的无法解决吗?
不懂必须要问 2011-03-28
  • 打赏
  • 举报
回复
第二个文件改一改名

叫做sessionget.php,输入时忘记改了。

请问是什么问题呢?
不懂必须要问 2011-03-28
  • 打赏
  • 举报
回复
不是面对手机的。
craboy1 2011-03-28
  • 打赏
  • 举报
回复
是手机网吗?

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧