PHP会话没有停留

时间:2018-01-10 18:23:58

标签: php session

我正在使用Slim3框架进行路由。除此之外,我没有框架。

我的申请以index.php

开头
require __DIR__ . '/../vendor/autoload.php';

// Instantiate the app
$settings = require __DIR__ . '/../src/settings.php';
$app = new \Slim\App($settings);

if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

require __DIR__ . '/../src/dependencies.php';
require __DIR__ . '/../src/middleware.php';
require __DIR__ . '/../src/routes.php';

// Run app
$app->run();

正如你所看到的,在任何事情发生之前,我都会非常清楚地开始会议。

在发生所有操作的routes.php中,我发出请求以查看是否存在$_SESSION['user']个对象。即使我正在设置它,它总是NULL。但我知道为什么 - 因为如果我

var_dump((session_status());exit;

总是 = PHP_SESSION_NONE

如果我查看浏览器,每次刷新页面时仍然会有相同的PHP会话ID。

我不知道该怎么做。 session_start();无效。

我在任何地方都可以想到session_start()。以下是我在User类中设置会话的方法。所以它有效。但是当移动到另一个页面时,$_SESSION['user']NULL

private function setSession(){
    $_SESSION['user'] = $this;
    // var_dump($_SESSION['user']);exit; // prints what you'd expect
    return $this;
}

0 个答案:

没有答案