我配置了 config/session.php
return [
'driver' => 'file',
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'laravel_session',
'path' => '/',
'domain' => null,
'secure' => false,
];
Run Code Online (Sandbox Code Playgroud)
我在网络组中放置了路由规则
Route::group(['middleware' => ['web']], function () {
Route::get('/example/demo', 'ExampleController@demo');
});
Run Code Online (Sandbox Code Playgroud)
可以写入存储文件夹,但每个请求都将生成一个新的会话文件
这怎么发生的?
我怎么解决这个问题?
tcgetpgrp的手册页说
当fd指的是调用进程的控制终端时,函数tcgetpgrp()将返回该终端的前台进程组ID(如果有),并且某个值大于1,否则当前不是进程组ID.
some value,似乎含糊不清当我尝试使用它,我发现它似乎返回当前会话ID我已经尝试了很多次,它总是返回当前会话ID
是some value当前会话ID?或者这是一个特殊情况?或者我的代码有bug?
环境:libc 2.1.2,Linux 2.6.32
码:
int main(int argc, char *argv[])
{
return getgroup(argc, argv);
}
int getgroup(int argc, char *argv[])
{
if (fork()) {
return OK;
}
sleep(5);
printf("process %d fork, ppid %d, pgid %d, psid %d \n", getpid(), getppid(), getpgid(getpid()), getsid(getpid()));
pid_t gid = tcgetpgrp(STDIN_FILENO);
printf("group id %d \n", gid);
return OK;
}
Run Code Online (Sandbox Code Playgroud)