您的位置:首页 > 汽车 > 新车 > 南山做网站公司在哪里_在深圳的中建公司_网站死链检测工具_图片百度搜索

南山做网站公司在哪里_在深圳的中建公司_网站死链检测工具_图片百度搜索

2025/1/11 8:23:49 来源:https://blog.csdn.net/bener2008zj/article/details/144909160  浏览:    关键词:南山做网站公司在哪里_在深圳的中建公司_网站死链检测工具_图片百度搜索
南山做网站公司在哪里_在深圳的中建公司_网站死链检测工具_图片百度搜索

使用AWS SDK碰到的错误,其实很简单,要装个扩展库

保持如下

Fatal error: Uncaught Aws\Auth\Exception\UnresolvedAuthSchemeException: This operation requests `sigv4a` auth schemes, but the client currently supports `sigv4`, `none`, `bearer`, `sigv4-s3express`. in /var/www/html/easymonitor/awstool/aws-sdk-php-v3/Aws/EndpointV2/EndpointV2Middleware.php on line 323

根据提示可以看到如下代码

    private function resolveAuthScheme(array $authSchemes): array{$invalidAuthSchemes = [];foreach($authSchemes as $authScheme) {if ($this->isValidAuthScheme($authScheme['name'])) {return $this->normalizeAuthScheme($authScheme);}$invalidAuthSchemes[$authScheme['name']] = false;}.......省略.......throw new UnresolvedAuthSchemeException("This operation requests {$invalidAuthSchemesString}". " auth schemes, but the client currently supports {$validAuthSchemesString}.");}

这里就是判断用哪种验证方式
在头部可以看到sigv4a是在列表里面的

private static $validAuthSchemes = ['sigv4' => 'v4','sigv4a' => 'v4a','none' => 'anonymous','bearer' => 'bearer','sigv4-s3express' => 'v4-s3express'];

这里这个函数isValidAuthScheme就比较可疑

    private function isValidAuthScheme($signatureVersion): bool{if (isset(self::$validAuthSchemes[$signatureVersion])) {if ($signatureVersion === 'sigv4a') {return extension_loaded('awscrt');}return true;}return false;}

这里可以看到,列表中有的就直接返回true
但sigv4a比较特殊,需要awscrt扩展
用yum搜了一下有现成的,直接装就行了
在这里插入图片描述
总结
缺少awscrt扩展,安装就行了

补充说明
装了扩展还是要添加php文件才行,具体见官方项目
https://github.com/awslabs/aws-crt-php

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com