日期:2014-05-17  浏览次数:20438 次

如何让网站不同文件里session变量存在一个session文件中
我现在考虑session.save_handler = files的情况

我在网站根目录下建了两个目录,test1,test2,分别放了两个test.php
test1/test.php
<?php
session_start();
$_SESSION['other1']='other12012';
print_r($_SESSION);
?>
test2/test.php
<?php
session_start();
$_SESSION['other2']='other22012';
print_r($_SESSION);
?>
先后运行这两个文件后,两个cession变量存在一个session文件中:sess_文件里的内容是:other1|s:10:"other12012";other2|s:10:"other22012";


但我发现有时候,同一个网站下的session不存在一个session文件,
比如我在网站下建了一个目录放了一个论坛程序,论坛程序的session总是新建一个session文件,而不是和其他的session共用一个session文件。

我希望网站下的所有php程序共用一个session文件。。。

------解决方案--------------------
新建一个公共的包含文件,head.php,此文件中写入session信息,同时被test1,test2中包含。

这样,不管目录多少级,只要包含head.php即可传递。
------解决方案--------------------
一个访问者对应一个服务端SESSION文件以及一个维护会话的SESSION-COOKIE存在访问者浏览器里。

不知道你希望的是什么呢?

http://cn2.php.net/session_id

所有页面都使用session_id设置同一个SESSION ID即可保证所有访问者共享同一个SESSION-COOKIE(存有SESION ID),以及它们将访问同一个服务端SESSION文件。