会话不像PHP那样工作

时间:2010-08-17 19:06:09

标签: php session

我有一个传递会话变量的简单表单,它无法在第二页上加载。我让它在另一台服务器上运行,在将它移动到新服务器后,它不再有效。我在两者上都有相同的PHP版本(PHP 5),它可以在一个上运行而在另一个上运行 - $_SESSION数组只是完全为空。

我检查了会话ID是否相同,并且它们在表单的两个页面上完全相同(不是在两个服务器上,这些明显不同)。

session_start();是表单所有页面上的第一行代码。

第一页

session_start();

echo "session id ".session_id();

$_SESSION["gencode"] = $gencode;

第二页

session_start();

echo "session id ".session_id();  

echo $_SESSION["gencode"];

同样,我让它在另一台服务器上运行完全相同,在移动这部分故障之后,我应该在服务器上寻找某个设置吗?两者都是Linux,如果会话ID是回显意味着存在相同的会话,那么正确吗?

任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:1)

  1. 检查两台服务器上的php.ini并确认会话设置是否相同。
  2. var_dump($ _ SESSION)查看会话中的内容。你可能会看到一些有趣的东西。

答案 1 :(得分:0)

  1. 是否通过完全相同的域访问两个页面?
  2. 与几乎所有其他PHP函数一样,session_start()可能会失败,如果有,则返回FALSE。你能检查一下返回值吗?