小编lil*_*lin的帖子

Laravel 5.2每个请求都会生成一个新的会话文件

我配置了 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)

可以写入存储文件夹,但每个请求都将生成一个新的会话文件

这怎么发生的?

我怎么解决这个问题?

php session laravel-5.2

5
推荐指数
1
解决办法
976
查看次数

什么是tcgetpgrp()返回值的含义?

tcgetpgrp的手册页说

当fd指的是调用进程的控制终端时,函数tcgetpgrp()将返回该终端的前台进程组ID(如果有),并且某个值大于1,否则当前不是进程组ID.

  1. 这是什么意思some value,似乎含糊不清
  2. 如何将其检查为有效的组ID或其他值,是否意味着我必须获取系统中所有进程组的列表以确定返回值是否指向有效的进程组?

上下文

当我尝试使用它,我发现它似乎返回当前会话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)

c linux system-calls

2
推荐指数
1
解决办法
189
查看次数

标签 统计

c ×1

laravel-5.2 ×1

linux ×1

php ×1

session ×1

system-calls ×1