PHP8中使用curl的坑,天翼云oos上传报错

之前的开发一直使用的php7,thinkphp6,上传天翼云的oos对象存储,一直没有问题,后来项目修改了框架,使用webman微服务架构,上传对象存储一直报错。报错的内容也是很奇怪:request-id:
是的,你没看错,仅此而已,request-id后面什么都没有,于是乎,断点打印,在oos的sdk包里面断点打呀打。
天翼云OOS SDK包的鸟瞰图
发现报错的地方位于OOS/Result/Result.php的parseResponse方法中,因为我使用的是V2验签方式,顺藤摸瓜发现是$this->isOk为false才抛出的异常。
在这里插入图片描述

继续往上查找,发现在OOS/OosClient.php的authV2方法中,有调用send_request这个动作。这里应该就是上传的动作,继续查找!!
在这里插入图片描述
穿到该方法里面,发现前面的prep_request方法就是一系列的curl前置组装。略过,然后看到下面的process_response这个方法,穿进去
在这里插入图片描述
看到传进来的参数$curl_handle,curl的结果集有这样一个判断,如果是资源类型,继续往下走,否则直接返回false。这时候我恍然大悟,骂了一句:卧槽。
第一案发现场
原来php8的curl返回的是对象类型,二话不说,直接将这里的is_resource改成了is_object。重新上传,very well。搞定!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值