会话不是在服务器端进行的

时间:2017-07-17 12:47:03

标签: php session vpn

我正在开发一个项目,我正面临会话问题会话创建,但当我重定向到另一个页面时它不会出现在下一页。如果我在我的另一台服务器上使用相同的代码,那么它工作正常。我无法找到它的解决方案。我也在这个项目中使用VPN服务器。我把我的代码放在

之下

info.php的

session_start();
$array = [5,6,7,8,9]; 
$_SESSION['mySession'] = $array;
//print_r($_SESSION); //works fine here
exit(header('location:index_2.php'));

index_2.php

session_start();
print_r($_SESSION);//getting blank array

下面我在我的服务器上分享我的会话设置,请找到图像here is snapshot of session setting

我正在使用PHP版本7.0.21RC1(根据phpinfo())

1 个答案:

答案 0 :(得分:0)

试试这个:

header('location:index_2.php');
exit();

header()来电不是exit()的参数,请参阅exitheader手册页。

您已经说过setcookie()无效,这是您问题的根源 - 会话ID是通过Cookie发送的,除非您更改配置并将其传递到网址中。您可以使用

进行测试
// the constant SID is the current session name and id formatted as a string suitable for URLs
header('Location: index_2.php?'.SID);

在您的第一页上,

session_id($_GET[session_name()]);    // usually == $_GET['PHPSESSID']
session_start();    //  do this *after* setting the session ID as above

在你的第二页。

搜索 php setcookie not working ,您会看到很多结果。 setcookie()无效的最常见原因是在setcookie()调用之前发送到浏览器的内容。您的搜索将有很多关于如何处理此问题的提示。