即使值存在,检查 PHP $_SESSION 中存在的值也会失败

Checking a value exists in PHP $_SESSION fails even when the value is there

我正在尝试检查 $_SESSION 变量中的值,如果存在该值,则将用户重定向到另一个页面。代码如下:

// create session
session_set_cookie_params( 0,'/',$_SERVER['HTTP_HOST'],true,true);
session_name('test');
session_start();
//  check if test session is set, if it is redirect to page-2
if (isset($_SESSION['value1']) && !empty($_SESSION['value1'])) {
    header("Location: /page-2");
    exit();
}

我知道这个值在那里,因为当我转到第二页时,我可以在那里访问它,例如:

$value1 = $_SESSION['value1'];

我做错了什么?任何帮助表示赞赏

编辑:问题是 isset($_SESSION['value1']) && !empty($_SESSION['value1']) 似乎返回假,而我期望它是真的,但我没有被重定向到第二页

在调用外部 API

后第一页上设置会话值

原来这是负载均衡的问题,通过配置粘性会话解决了。