swoole4.4+最新版完美结合TP框架5.1 AccessingstaticpropertythinkRequest::$hookasnonstatic即url地址传参问题

array_walk_recursive
具体功能:

取出data数组( 即url地址传参 )中的每一个,调用filterValue,而过滤规则是filter数组(config/app.php中定义的default_filter
然而,当url地址中传入参数/?s=index/index/index&m=20&s=10进行访问时
抛出 think\exception\ErrorException: Accessing static property think\Request::$hook as non static in…147 Stack trace异常
在这里插入图片描述
查看request.php 第147行
在这里插入图片描述
__call() 监视错误的方法调用,当调用的方法不存在产生错误时,运行此方法来避免。这里的method是filterValue,而这个函数真真确确存在的,是request的 private函数。对于出现的这个错误,我翻看了一下swoole4.4的最新特性:array_walk_recursive为swoole解决原生函数不可重入的问题,应该是swoole结合tp框架使用此函数导致的冲突。
在这里插入图片描述
具体解决办法:将array_walk_recursive函数屏蔽掉,data数组通过foreach循环遍历,即可完美解决此问题。swoole4.4以下版本亲测不会出现url地址传参问题
在这里插入图片描述
如有不对的地方,敬请大神更正!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值