会话ID PHP更改?

会话ID PHP更改?,php,session,Php,Session,好的,这就是我要做的。 (我忘了放置重定向按钮,但你明白了) 关于test1.php <?php session_start(); echo session_id(); //prints 5e28459b687847200537d1acd5ee880f $_SESSION['test']=1; echo $_SESSION['test']; // prints 1 ?> 关于test2.php <?php session_start

好的,这就是我要做的。 (我忘了放置重定向按钮,但你明白了)

关于test1.php

<?php 
   session_start();
   echo session_id(); //prints 5e28459b687847200537d1acd5ee880f
   $_SESSION['test']=1;
   echo $_SESSION['test']; // prints 1
?>    

关于test2.php

<?php
   session_start();
   echo session_id(); //print nothing
   echo $_SESSION['test']; // prints 1
?>

问题来了:

<?php session_start(); ?>
<html>
<?php echo session_id(); //prints 5e28459b687847200537d1acd5ee880f5e28459b687847200537d1acd5ee880f(yes it duplicates)
      echo $_SESSION['test'] // prints none
?>
</html>


我一直在试图解决这个问题,因为我无法将变量传递到第3页左右,尝试搜索时发现没有变量或类似的变量,但不完全相同,并尝试了那些不起作用的变量,所以我最后问大家。

将以下行放入php.ini中:

session.auto_start = on
或者将其放入apache虚拟站点配置或.htaccess文件:

<IfModule mod_php5.c>
  php_flag session.auto_start on
</IfModule>

php_标志session.auto_启动时间

我不明白您的简单示例如何产生您所描述的输出。听起来你已经将问题缩小到了相关组件(好东西),但是你可能删除了太多。我的主要问题是会话id发生了变化,我猜这与我的会话变量没有被传递有关。会话id唯一可以改变的方法是:1。您自己用
会话id()
更改了它。2.您使用
会话\u重新生成\u id()
对其进行了更改。3.您更改了PHPSESSID cookie。4.你破坏了会话,PHP启动了一个新的会话。所有这些问题的答案都是否定的,我试图弄明白为什么即使是echo会话,你发布的3个文件也不可能完成你描述的任务。请随意创建一个可复制的示例,以便我们其他人可以按照您描述的如何自动启动会话进行操作。这对他的会话id问题有什么帮助?我注意到一个php.ini配置设置,它会使php在每次请求时自动启动会话。这是将会话_start()放在每个页面上的另一种选择…他在每个文件的顶部都有会话_start()。我们只是在发布关于会话使用的随机提示吗?