上传图像时,PHP会将临时图像存储在服务器的本地图像中。
是否可以更改此临时位置,使其脱离本地服务器。
原因:使用没有粘性会话的加载平衡,我不希望文件上传到一台服务器,然后在另一台服务器上无法使用。注意:我没有必要一次完成文件上传和处理文件。
首选的临时位置是AWS S3 - 也只是想知道这是否可行。
如果不可能,我可以让文件上传一个完整的过程,同时将完成的文件放在最终位置。
只是想知道PHP临时图像/文件位置是否可以脱离本地服务器?
三江源
答案 0 :(得分:1)
您可以使用本文中详细介绍的一些较新技术将文件从客户端直接上传到S3:
否则,我个人会建议使用每个服务器的tmp
文件夹 - 临时存储。文件在您的服务器上之后,您始终可以上传到S3,然后可以在所有负载平衡服务器上访问它。
答案 1 :(得分:1)
您可以在ELB下的实例上安装带有s3fs的S3存储桶,以便在应用服务器之间共享所有上传。关于/ tmp,不要触摸它,因为目的地是S3并且它是共享的 - 你不必担心。
如果您上传了很多内容,S3可能会成为瓶颈。在这种情况下,我建议设置NAS。就个人而言,我使用GlusterFS,因为它可以很好地扩展并且很容易设置。它有复制问题,但您可能根本不使用复制卷,而且您没问题。
另一种选择是Ceph,Sector/Sphere,XtreemFS,Tahoe-LAFS,POHMELFS以及其他许多......