tp切换到webman以后,如何实现session 自动刷新 ?

lavaman

session的类型是file,
tp切换到webman以后,
由于webman页面请求无法自动刷新session,
除了粗暴的增加过期时间以外,
如何优雅的实现session 自动刷新?

334 3 0
3个回答

liziyu

tp是如何实现的?还真不晓得!~

walkor

下个版本支持,预计一周内发版本

walkor

自动刷新session好了,需要更新下 webman-framework 和 workerman
composer require workerman/webman-framework ^1.3.14
composer require workerman/workerman ^4.0.37

config/session.php配置类似如下

return [
    'type' => 'file', // or redis or redis_cluster
    'handler' => Webman\FileSessionHandler::class,
    'config' => [
        'file' => [
            'save_path' => runtime_path() . '/sessions',
        ],
        'redis' => [
            'host' => '127.0.0.1',
            'port' => 6379,
            'auth' => '',
            'timeout' => 2,
            'database' => '',
            'prefix' => 'redis_session_',
        ],
        'redis_cluster' => [
            'host' => ['127.0.0.1:7000', '127.0.0.1:7001', '127.0.0.1:7001'],
            'timeout' => 2,
            'auth' => '',
            'prefix' => 'redis_session_',
        ]
    ],
    'session_name' => 'PHPSID',
    'auto_update_timestamp' => true, // 这里设置为true自动更新session
    'lifetime' => 7*24*60*60, // 这里设置session过期时间
    'cookie_lifetime' => 365*24*60*60, // cookie过期时间设置长一点,因为自动更新session不会自动续期cookie
    'cookie_path' => '/',
    'domain' => '',
    'http_only' => true,
    'secure' => false,
    'same_site' => '',
    'gc_probability' => [1, 1000],
];
  • 稚出 2022-05-17

    太给力了!

  • oscar 2022-05-17

    哎哟!真及时,我们的项目也刚准备收尾!更新完之后就可以打包了。

🔝