session的類型是file,
tp切換到webman以后,
由于webman頁(yè)面請(qǐng)求無(wú)法自動(dòng)刷新session,
除了粗暴的增加過(guò)期時(shí)間以外,
如何優(yōu)雅的實(shí)現(xiàn)session 自動(dòng)刷新?
tp是如何實(shí)現(xiàn)的?還真不曉得!~
https://blog.csdn.net/wzp_love/article/details/116459537 這個(gè)前半部分提到了如何自動(dòng)刷新
自動(dòng)刷新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, // 這里設(shè)置為true自動(dòng)更新session
'lifetime' => 7*24*60*60, // 這里設(shè)置session過(guò)期時(shí)間
'cookie_lifetime' => 365*24*60*60, // cookie過(guò)期時(shí)間設(shè)置長(zhǎng)一點(diǎn),因?yàn)樽詣?dòng)更新session不會(huì)自動(dòng)續(xù)期cookie
'cookie_path' => '/',
'domain' => '',
'http_only' => true,
'secure' => false,
'same_site' => '',
'gc_probability' => [1, 1000],
];