问题标签 [aws-php-sdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 发送电子邮件时出现 AWS SES Guzzle 错误
我已经使用 PHP SDK 设置了 AWS Ses 服务:
尝试发送电子邮件后,我收到此错误消息:
任何人都知道如何解决该错误?
cUrl 支持 SMTP,但smtp://email-smtp.eu-west-1.amazonaws.com
抛出错误[curl] 1: Protocol smtp not supported or disabled in libcurl [url] smtp://email-smtp.eu-west-1.amazonaws.com/
amazon-web-services - 将文件从 EC2 移动到 S3,然后从 EC2 中删除
我正在将文件从一台远程服务器迁移到 S3。大约有 10k 个文件(所有文件都可以通过远程服务器的 http URL 访问)。总大小约为 300GB(单个文件不超过 1GB)。我试图找出进行这种迁移的最有效方法。到目前为止,我有一个 EC2 实例并安装了 S3CMD;PHP-SDK,我也有一个包含所有 URL 的文本文件。我能够毫无问题地将文件从 EC2 移动到 S3。但问题是,如果我在 EC2 中下载所有内容,我的存储空间就会用完。有没有一种方法可以让我在 EC2 中下载文件(也许查看 txt 文件)将其移动到 S3(使用 S3CMD),然后在我转到下一个文件之前从 EC2 中删除文件。
理想情况下,我希望将所有内容从远程位置直接下载到 S3,但我认为这是不可能的,除非这里有人说是这样。
在此先感谢您的帮助。
php - Amazon S3 - 如何修复“我们计算的请求签名与签名不匹配”错误?
我已经在网上搜索了两天多,并且可能已经浏览了大多数在线记录的场景和解决方法,但到目前为止对我没有任何帮助。
我使用的是在 PHP 5.3 上运行的适用于 PHP V2.8.7的AWS开发工具包。
我正在尝试使用以下代码连接到我的 Amazon S3 存储桶:
我的 config.php 文件如下:
它产生以下错误:
我们计算的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。
我已经检查了我的访问密钥和秘密至少 20 次,生成了新的,使用了不同的方法来传递信息(即配置文件并在代码中包含凭据),但目前没有任何工作。
file-upload - 通过 Elastic Beanstalk 应用程序将图像上传到 AWS S3 时出现 500(内部服务器错误)
我的任务是使用 AWS Elastic Beanstalk 和 S3 创建一个应用程序,其中可以从用户上传/删除图像。
我正在使用 BlueImp 库:“ https://github.com/blueimp/jQuery-File-Upload ”
以及 UploadHandler.php 的修改版本:“ https://gist.github.com/tim-peterson/8172999 ”
我在应用程序中使用 Composer 安装了 aws-php-sdk 并创建了一个 config.php 文件,如下所示:
但是当我尝试上传图像时,它显示错误:“500(内部服务器错误)”
任何想法为什么?
提前致谢!
php - AWS PHP 开发工具包凭证错误 S
尝试创建SNSClient
对象时出现以下错误。
我不明白为什么当我aws.php
在我的 laravel 设置的 config 文件夹中时出现此错误。这里存储了访问密钥和秘密密钥。
我真的不喜欢这样,因为这会导致我的凭据存储在其他人可能 SFTP 进入的文件夹设置中。
我还拥有服务器根文件夹中的 aws 凭据和配置文件,路径如下:~/.aws/
但由于某种原因,应用程序不满意。
这是我的代码的样子:
请注意,我使用的default
配置文件应该从存储配置和凭据文件的根 aws 目录获取凭据。
现在,作为一个临时解决方案,我这样做了:http: //blog.ianholden.com/aws-s3-with-php-on-apache/这使一切正常,但我不高兴我的凭证密钥存在于应用程序代码。感觉不对。
有人可以指导我解决这个错误吗?
更新1:评论:〜/ .aws /的config内容是什么~/.aws/
这是文件夹
中配置文件的内容
php - 调用 S3Client::setRegion() 失败
我正在使用"aws/aws-sdk-php": "3.0.3"
通过作曲家访问不同区域中的一些 S3 存储桶,但我似乎无法让 S3Client 使用该setRegion()
函数更改区域而不产生错误:
PHP Catchable 致命错误:传递给 Aws\AwsClient::getCommand() 的参数 2 必须是数组类型,给定字符串,在第 166 行的 vendor/aws/aws-sdk-php/src/AwsClient.php 中调用并在供应商/aws/aws-sdk-php/src/AwsClient.php 在第 210 行
代码:
输出:
笔记:
- S3Client Docs说该方法继承自
Aws\Common\Client\AbstractClient
Aws\Common\Client\AbstractClient
文档说该函数接受一个字符串- 但它看起来像是
Aws\AwsClient::__call()
出于某种原因而失败了?
编辑
正如@giaour 所说,S3Client::setRegion()
v3 客户端中不再存在,我链接的文档适用于 v2。[我不知道为什么它被标记为“最新”]
这是我作为解决方法实现的代码,刚刚升级为“规范”:
进而:
php - AWS 开发工具包 PHP .aws/credentials 配置
我有一个使用 AWS SDK PHP 构建的 Web 应用程序,目前我从 /etc/aws/creds.php 中的外部配置文件中提取所有凭证(返回参数值的 php 数组)。这适用于默认的 php.ini 设置(松散和开放)。当我开始锁定事情时,我正在努力解决这个错误:
PHP 致命错误:未捕获的异常“Aws\Common\Exception InstanceProfileCredentialsException”,并带有消息“从实例配置文件元数据服务器检索凭据时出错。当您不在 Amazon EC2 内部运行时,您必须在创建客户端时在“key”和“secret”选项中提供您的 AWS 访问密钥 ID 和秘密访问密钥,或者提供实例化的 Aws\Common\Credentials CredentialsInterface 对象。
这会在 /var/log/httpd/error_log 中获取。AWS SDK API 上的文档说我必须为给定用户使用 .aws/credentials 文件。那么我的用户是http(对于apache),它的主目录是/srv/http/。我无法有效地将凭据放入该文件中,因为它将对我网站上的任何人公开可用。
我的问题是如何更改此凭据文件的位置?我需要将位置更改为凭据文件,这样我才能解决错误,这样我就可以收紧 php.ini display_errors = Off 以便我的脚本可以正常安全地工作。(注意:我知道单个 php.ini 更改并不是安全的圣杯,它只是阻碍我完全锁定我的 php.ini 配置的能力的一件事)。
php - GCM 中的 AWS SNS 通知
当我尝试使用 php.phar SDK 和 php 代码创建 SNS 应用程序的端点时,我遇到了用户的权限问题。
**致命错误:未捕获的 Aws\Sns\Exception\AuthorizationErrorException:AWS 错误代码:AuthorizationError,状态代码:403,AWS 请求 ID:00ff41fd-1b05-5696-b8c4-0ff21e72467c,AWS 错误类型:客户端,AWS 错误消息:用户: arn:aws:iam::653168:user/xyz 无权执行:SNS:CreatePlatformEndpoint on resource:arn:aws:sns:us-east-1:653111873368:app/GCM/SampleApp, User-Agent:aws -sdk-php2/2.8.8 Guzzle/3.9.3 curl/7.36.0 PHP/5.5.12 在phar中抛出://C:/wamp/www/testing/sns/aws2.phar/Aws/Common/Exception/第 91 行的 NamespaceExceptionFactory.php
php - 提供区域时,AWS PHP SDK 3.0 Sts 客户端抛出非范围区域的错误
升级到 3.0 PHP sdk,这可能是一个错误,因为它破坏了一切。
我正在尝试创建一个 sts 客户端,但它不断收到错误
PHP 代码
其中 $config 是一个数组
因此该区域显然已设置,并且 us-west-1 是有效区域 https://docs.aws.amazon.com/general/latest/gr/rande.html
文档非常糟糕,但https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html#using-the-sdk-class是我的那种下列的
并创建一个客户端 https://docs.aws.amazon.com/aws-sdk-php/v3/api/class-Aws.Sdk.html 见方法 createSts
我也可以成功地使用具有相同凭据的 s3 客户端并执行命令。
amazon-s3 - 使用 PHP SDK 的 S3 批量/并行上传错误
我按照这些代码批量PutObject
进入 S3。我正在使用最新的 PHP SDK (3.x)。但我得到:
传递给 Aws\AwsClient::execute() 的参数 1 必须实现接口 Aws\CommandInterface,给定数组