AWS PHP SDK -- 无需包管理器安装

3
我正在尝试引入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

任何关于如何开始调试这个问题的建议?将不胜感激!
2个回答

8

非常感谢@jeremy Lindblom。 - Pradeep
更新链接:https://docs.aws.amazon.com/aws-sdk-php/v2/guide/installation.html#installing-using-the-zip-archive - Marc

0
您应该遵循推荐的安装程序。个人建议使用Composer安装或仅使用不带Composer的PHAR。
然后,您只需要像这样包含PHAR:
require '/path/to/aws.phar';

你将拥有所需的一切。

你现在遇到的问题可能是你没有充分利用自动加载器。使用你的方法,你需要手动包含所有通常会自动加载的类。

你还需要下载并包含另一个库(Guzzle,在PHAR存档中未包含)。


很遗憾,我无法使用Composer、PEAR等工具。因为这是为一家公司工作,所以我必须手动完成。在进一步探索后,似乎我可以通过Composer运行它来获取“/vendor/autoload.php”,然后将其作为一个巧妙的解决方案。 - Austin DeVinney

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接