AWS PHP SDK - 仅加载我需要的内容

时间:2015-01-02 23:40:58

标签: php amazon-web-services amazon-s3

我希望使用AWS PHP SDK来处理S3的一些签名URL:

http://ceph.com/docs/next/radosgw/s3/php/

然而,当我下载SDK时,它是巨大的。它是9.6MB和超过1,000个文件。我是否真的需要将所有这些文件复制到我的服务器,或者我可以以某种方式自定义我对SDK的使用情况,只加载我需要使用S3的部分?我对生产服务器没有很多控制权,因此任何需要我在服务器上运行某种工具/框架的解决方案对我来说都是不可行的。

3 个答案:

答案 0 :(得分:3)

它也应该作为单个.phar文件提供(其中包括SDL的所有依赖项) - 复制一个文件比复制文件更容易 - Installing via phar

答案 1 :(得分:0)

我很确定你不必上传那些你不需要的文件。要获得您实际使用的文件列表,您可以:

  • 编写一个脚本为您做一些URL签名
  • 在脚本调用结束时get_included_files获取自动加载器所包含的文件列表
  • 仅将这些文件复制到您的生产服务器

当某些事情发生不同时,这可能会导致问题,而您以前没有尝试过加载过的其他课程。因此,如果以前包含其中一个文件,我会慷慨并包含整个功能文件夹。例如,即使您没有包含所有文件,我也会上传整个vendor/guzzlehttp文件夹。

答案 2 :(得分:0)

您实际上可能需要使用SDK的v2,因为Ceph可能不支持v3中使用的新S3身份验证协议。 (您提供的链接上显示的示例实际上使用SDK的v2,但v2应该仍然有用。)

v2实际上比v3大几兆字节,但如果你按照Mark Ba​​ker的建议使用phar或通过作曲家进行部署,那么你不需要等待1000+完成rsync-ing / scp-ing / sftp-ing。