我现在已经面临这个问题6个小时了。
为了简单起见,我创建了一些代码来模拟我遇到的问题。
说,我有以下文件结构:
test_sessionB.php:
<?php session_start();
$_SESSION['test'] = 'session';
header('Location: ../test_sessionA.php');
test_sessionA.php:
<?php session_start();
var_dump($_SESSION);
session_destroy();
用上面的结构test_sessionA.php将输出空数组。但是如果我将test_sessionA.php移动到与test_sessionB.php相同的文件夹,它将输出正确的值。
你们有没有为这个问题找到解决方案? 感谢。
更新
尝试以下内容但没有成功:
session_set_cookie_params(0, '/')
header('Location: http://domain.org/path/test_sessionA.php')
服务器配置是否有问题,因为这些代码在我的本地计算机上运行良好。 PHP版本是5.3.8(本地)和5.2.17(托管)。
答案 0 :(得分:1)
也许你的session.cookie_path配置错误。您可以在php.ini中更改它,或者在开始会话之前尝试使用session_set_cookie_params(0, '/')
进行设置。