如何将 S3 存储桶挂载到 EC2 实例并使用 PHP 写入该实例?
我正在处理一个托管在亚马逊网络服务上的项目。服务器设置由两个 EC2 实例、一个弹性负载均衡器和一个 Web 应用程序所在的额外弹性块存储组成。该项目应该使用S3来存储用户上传的文件。出于这个问题的考虑,我将调用 S3 存储桶static.example.com
我尝试过使用(https://code.google.com/p/s3fs/wiki/FuseOverAmazon),(https://github.com/skoobe/riofs)和(https://code.google.com/p/s3ql/)。 将挂载文件系统,但不让我写入存储桶(我在 SO:如何使用 FUSE 以适当的权限挂载 S3 卷时问了这个问题)。 将挂载文件系统,并允许我从shell写入存储桶,但是使用PHP保存的文件不会出现在存储桶中(我在GitHub上打开了一个项目问题)。 将挂载存储桶,但存储桶中已有的文件不会出现在文件系统中。s3fs
RioFS
s3ql
s3fs
RioFS
s3ql
这些是我使用的挂载命令:
s3fs static.example.com -ouse_cache=/tmp,allow_other /mnt/static.example.com
riofs -o allow_other http://s3.amazonaws.com static.example.com /mnt/static.example.com
s3ql mount.s3ql s3://static.example.com /mnt/static.example.com
我也尝试过使用这个S3类:https://github.com/tpyo/amazon-s3-php-class/ 和这个FuelPHP特定的S3包:https://github.com/tomschlick/fuel-s3。我能够让FuelPHP软件包列出可用的存储桶和文件,但是将文件保存到存储桶失败(但没有出错)。
您是否曾经在本地 Linux 文件系统上挂载过 S3 存储桶,并使用 PHP 将文件成功写入存储桶?您使用了哪些工具?如果您使用了上述工具之一,那么您使用的是哪个版本?
编辑我被告知,我在 GitHub 上打开的问题已得到解决。尽管我决定使用 S3 REST API,而不是尝试将存储桶挂载为卷,但现在这似乎是一个可行的选择。RioFS
RioFS