我正在努力拉入AWS PHP SDK并遇到一些问题,因为我当前的堆栈没有使用包管理器。也不是开始使用它的选择(公司相关 - 宁愿不详细说明)。
所有人都说,我直接拉入源代码并尝试将其添加到我的包含路径中,并在我正在编写的S3包装器对象中包含我需要的文件。然而,它正在遇到命名空间(我认为)和那些爆炸的问题。
这是我所指的图书馆: https://github.com/aws/aws-sdk-php
我尝试了关于使用AmazonS3并将文件上传到它的底部位。所以,我试图将它引用的代码的各个部分包括在内:
尝试一次
require_once('/includes/third_party/aws-sdk-php-master/src/Aws/Common/Aws.php');
require_once('/includes/third_party/aws-sdk-php-master/src/Aws/S3/Enum/CannedAcl.php');
require_once('/includes/third_party/aws-sdk-php-master/src/Aws/S3/Exception/S3Exception.php');
尝试两次
set_include_path(get_include_path() . "/includes/third_party/aws-sdk-php-master/src/");
include('Aws/Common/Aws.php');
include('Aws/S3/Enum/CannedAcl')
include('Aws/S3/Exception/S3Exception.php');
这两个都产生了类似的错误:
Fatal error: Class 'Guzzle\Service\Builder\ServiceBuilderLoader' not found in \includes\third_party\aws-sdk-php-master\src\Aws\Common\Aws.php on line 26
PHP Fatal error: Class 'Guzzle\Service\Builder\ServiceBuilderLoader' not found in \includes\third_party\aws-sdk-php-master\src\Aws\Common\Aws.php on line 26
有关如何开始调试的建议吗?非常感谢!
答案 0 :(得分:5)
AWS SDK for PHP nows附带一个zip文件,其中包含您需要的所有内容,包括自动加载器:http://docs.aws.amazon.com/aws-sdk-php-2/guide/latest/installation.html#installing-via-zip。
答案 1 :(得分:0)
您应该坚持推荐的安装程序。就个人而言,我会选择Composer安装,或者只使用没有Composer的PHAR。
然后您只需要包含PHAR:
require '/path/to/aws.phar';
你将拥有所需的一切。
您现在遇到的问题可能是您没有利用自动加载器。使用您的方法,您将需要手动包含通常自动加载的所有类。
您还需要下载并包含另一个库(Guzzle,不包含在PHAR存档中)。