为什么我的PHP会话数组在页面重新加载之间消失了


Why is my PHP session array disappearing between page reloads?

我不明白为什么我的PHP会话数组在页面加载之间会消失。以下代码使session_start()在每次页面加载时可用:

<?php
session_start();
if ( isset( $_SERVER['QUERY_STRING'] ) && !empty($_SERVER['QUERY_STRING']) ) {
    $gmeta_query_string = $_SERVER['QUERY_STRING'];
    parse_str( $gmeta_query_string, $gmeta_query_array );
    var_dump($gmeta_query_array);
    foreach ( $gmeta_query_array as $key => $value ) {
        $_SESSION[ 'gmeta_query_array' ][$key] = $value;
    }
}
var_dump( $_SESSION );
echo session_id();
?>

考虑到可能是我的服务器,这里有一些测试URL。第一个链接创建一个会话数组并打印出来,第二个链接打印一个空的会话数组。两页上的代码相同。

http://barbadospropertylist.com/wp-content/plugins/gravitymeta/test.php?name=value

http://barbadospropertylist.com/wp-content/plugins/gravitymeta/test.php

这里有一个链接到PHP信息:http://www.barbadospropertylist.com/phpinfo.php

SO中的另一个用户提出了相同类型的问题,并得到了解决。

请检查它是否能帮助你PHP会话不工作

你能打印session_id吗?每次加载页面时它是否都没有更改?