即使PHPSESSID相同,PHP7会话也不会保存

时间:2018-02-05 12:46:50

标签: php session

令我惊讶的是“PHPSESSID”没有改变,所以会话已经确定。

当我删除我的cookie并刷新页面时,“PHPSESSID”会发生变化。

这是我的代码:

if (!is_writable(session_save_path())) {
    echo 'Session path "'.session_save_path().'" is not writable for PHP!';
} // checking if its the problem but it's not. 

if (!isset($_SESSION['started'])) { 
// i've tried with session_status() == PHP_SESSION_NONE but with the 
// same result
    session_start();
    echo 'session started<br>';
    $_SESSION['started'] = 1;
    $_SESSION['test']= 'TestValue<br>';
}

echo ($_SESSION['test']) ?? 'Nothing Found<br>';

输出始终为:

session started
TestValue

PHP版本:7.1.13

系统:Ubuntu 16.04

1 个答案:

答案 0 :(得分:8)

CREATE KEYSPACE "test" WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'dc1' : 2, 'dc2' : 2}; 仅在调用session_start()时可用。

所以$_SESSION永远都是真的。

您应该使用:

if (!isset($_SESSION['started'])) {