如何使用AWS PHP SDK v3.0,无需凭据文件

如何使用AWS PHP SDK v3.0,无需凭据文件,php,amazon-web-services,amazon-s3,sdk,Php,Amazon Web Services,Amazon S3,Sdk,您好,我正在使用aws SDK版本3 for php在s3上上载文件 我需要删除凭据文件.aws/credentials,因为它会在我的生产服务器上引发问题 硬编码的凭据方法在我的代码中不起作用。链接粘贴在下面 请提供如何使用硬编码凭证的有效且有效的解决方案。 请注意,如果我使用凭证文件,一切正常。所以问题在于凭证代码 这是我启动s3对象时的代码 $s3Client = new S3Client([ 'profile' => 'default',

您好,我正在使用aws SDK版本3 for php在s3上上载文件 我需要删除凭据文件.aws/credentials,因为它会在我的生产服务器上引发问题

硬编码的凭据方法在我的代码中不起作用。链接粘贴在下面

请提供如何使用硬编码凭证的有效且有效的解决方案。 请注意,如果我使用凭证文件,一切正常。所以问题在于凭证代码

这是我启动s3对象时的代码

$s3Client = new S3Client([
                    'profile' => 'default',
                    'region' => 'us-west-2',
                    'version' => '2006-03-01',
                    'scheme'  => 'http',
                    'credentials'=>[
                        'key' => KEY,
                        'secret' => SECRET
                    ]
                ]);
根据AWS文件

如果在创建时未向客户端对象提供凭据 其实例化,例如,通过客户的工厂方法或 服务生成器配置,SDK将尝试查找 调用第一个操作时,环境中的凭据。 SDK将使用$\u SERVER superglobal和/或getenv函数 查找AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境 变量。这些凭据称为环境 证书

根据AWS文件

如果在创建时未向客户端对象提供凭据 其实例化,例如,通过客户的工厂方法或 服务生成器配置,SDK将尝试查找 调用第一个操作时,环境中的凭据。 SDK将使用$\u SERVER superglobal和/或getenv函数 查找AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境 变量。这些凭据称为环境 证书

这里是V3文档 在我的情况下,我在承载应用程序的计算机中使用IAM角色,从IAM仪表板管理权限更容易,您将避免使用凭据硬编码或配置文件。

V3文档在此
在我的情况下,我在托管应用程序的计算机中使用IAM角色,从IAM仪表板管理权限更容易,并且您将避免硬编码或带有凭据的配置文件。

您只需删除“profile”=>“default”行,该行具有覆盖硬编码凭据的效果


我今天很沮丧地处理了你同样的问题,终于解决了。请参见此处,了解不同Amazon服务上的相同问题

您只需删除'profile'=>'default',行,它具有覆盖硬编码凭据的效果


我今天很沮丧地处理了你同样的问题,终于解决了。请参见此处,了解不同Amazon服务上的相同问题

你们有没有试过这个文档??它根本不起作用。至少先测试代码,然后再把答案放在这里。你们有没有试过这个文档??这根本不起作用。至少先测试一下代码,然后再把答案放在这里。