php - AWS S3 PHP SDK,未找到 S3Client 类
问题描述
我正在尝试使用他们的 PHP SDK v3 建立与 Amazon S3 存储的连接。
我正在关注本指南:https ://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/getting-started_basic-usage.html
所以我使用 Composer 安装了 SDK 并创建了一个名为 ftptest.php 的文件(不要介意名称),其中包含以下内容:
<?PHP
require '/home/printzel/public_html/new/vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
//Create a S3Client
$s3 = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'nl-ams1'
]);
?>
但是当转到该页面时,我收到 HTTP 500 错误。检查我的错误日志时,我看到:
[01-Apr-2021 14:01:27 UTC] PHP Fatal error: Uncaught Error: Class 'Aws\S3\S3Client' not found in /home/printzel/public_html/new/ftptest.php:9
Stack trace:
#0 {main}
thrown in /home/printzel/public_html/new/ftptest.php on line 9
如您所见,我包含了我的自动加载文件。但是由于某种原因它找不到正确的类,为什么?
这是目前我的结构在我的服务器上的样子:
自动加载位置:
/home/printzel/public_html/new/vendor/autoload.php
AWS 文件夹位置:
/home/printzel/public_html/new/vendor\aws\aws-sdk-php\src
我的根目录中的composer.json:
{
"require": {
"aws/aws-sdk-php": "^3.176"
}
}
解决方案
您需要替换Aws\S3\S3Client
为S3Client
:
use Aws\S3\S3Client;
use Aws\Exception\AwsException;
//Create a S3Client
$s3 = new S3Client([
'version' => 'latest',
'region' => 'nl-ams1'
]);
更多细节在这里 -文档
希望能帮到你
您也可以创建别名:
use Aws\S3\S3Client as AwsClient;
use Aws\Exception\AwsException;
//Create a S3Client
$s3 = new AwsClient([
'version' => 'latest',
'region' => 'nl-ams1'
]);
推荐阅读
- javascript - Chrome 浏览器 GCM - TOO_MANY_REGISTRATIONS - 如何取消注册/清除所有已注册的应用程序 ID (registration.pushManager.subscribe)
- c# - 拆分所有列表框元素并将它们全部添加到新的字符串数组中
- gmail - Gmail 推送通知和更新手表
- angular - Angular HttpClient 对象到数组
- sql - 如何将自定义字段中的整数值添加到 NetSuite 中的自定义日期字段?
- excel - 如何从同一模板为不同的输入/场景生成多个图表
- html - HTML - 背景图像定位
- google-chrome - Chrome 如何在 Android 上实现 WebUSB?
- uwp - 对 UWP 项目未解决的依赖项进行故障排除
- java - 部署 GAE Java 应用程序时出错