laravel引入swoole,通过swoole控制器获取Auth::user()时显示null

前提

最近在laravel中尝试使用swoole来代替一些http请求,在swoole控制器中,use对应模块的控制器,实例化后调用获取result,但是遇到一个问题,就是:

  1. 用户在登录后(也就是保存了Auth信息),通过http请求,是可以获取到登录的用户信息
    use Illuminate\Support\Facades\Auth;
    dd(Auth::check()); //true
  2. 但是通过swoole控制器获取时显示false,Auth::user()也为null
    dd(Auth::check()); //false
    dd(Auth::user()); //null
    才疏学浅,我觉得一个原因是因为swoole处于长连接的状态导致获取不到Auth,又或者是其他的问题,希望有大佬能指点一二,感谢!:bowtie:
    另外还有个疑问,如果实在是获取不到这个登录态,我是不是可以在用户登录后将用户标识返回前端保存起来,请求都是带着这个标识,这样就不用去后端请求获取Auth??
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 8

常驻内存后request请求每次需要重置,不可看一下请求信息是不是不变的!

3年前 评论

默认的 auth 是基于 session 的,引入 swoole 后,我猜 laravel 默认的 session 应该没用了

3年前 评论

这种变量污染是最常见的,不常见的更难发现和处理。Laravel团队对Swoole一点想法都没有,生产环境慎用。

真觉得性能不太行可以用阿里云的函数计算、腾讯云的Serverless,代码基本上不用改动,性能也足够用了。

PS:如果用阿里云的函数计算那么“单实例并发度”一定要设置为1,越大性能越差。

3年前 评论
91it 3年前
L学习不停 3年前
s51983 (作者) 3年前
91it 3年前
s51983 (作者) 3年前

用swoole做一些自定义进程操作,异步任务投递的功能还可以,用来替代php-fpm的话建议直接用基于swoole的框架

3年前 评论

@Linxb 那就是说向这种要用到sission操作的就不能获取到了是吗,只能靠onRequest才能弄?

3年前 评论
鸡排饭加蛋 3年前

不要将 pfm 和 swoole 强行结合起来 要么纯fpm 要么swoole

3年前 评论

你这个问题解决没?

3年前 评论

swoole 里面身份还是得用fd去查询用户

3年前 评论
嫩东哥 3年前
pi_phq (作者) 3年前
嫩东哥 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!