SESSION更新问题

php_worker_lu

截图
时不时会出现是不是$_SESSION无法更新的问题,已经在接口运行完毕最后打印了$_SESSION['level']是有更新的,但是请求其他接口,打印出来的session还是旧的,老版本是不会的,目前的版本是4.0.29
截图

780 1 0
1个回答

walkor

gatewayWorker?
打印session的时候打印下当前client_id,看下client_id是不是一致的,可能当前client_id都是错的。
另外注意定时器等异步环境无法使用 $_SESSION变量,需要用Gateway::getSession 接口替换。

  • php_worker_lu 2022-05-25

    client_id是会出现错误的情况,我这边做踢下线的时候,判断client_id不是当前的client_id就踢掉,结果踢掉的是当前这个链接

  • php_worker_lu 2022-05-25

    出问题的接口不是异步的,测试有时就会出现问题,不是百分百出现,但是出现频率也是挺高的

  • walkor 2022-05-25

    client_id是会出现错误的情况,我这边做踢下线的时候,判断client_id不是当前的client_id就踢掉,结果踢掉的是当前这个链接。
    这个不会出错,client_id 包含了明确的客户端标识,不会关闭错误的连接。
    有问题打日志吧,尤其是client_id要记录到日志里才好定位问题。如果你实在找不到问题就用 Gateway::getSession($client_id) 来获取session。

年代过于久远,无法发表回答
🔝