我正在致力於在Amazon Web Services上託管的項目。服務器設置包含兩個EC2實例,一個Elastic Load Balancer和一個Web應用程序駐留的額外彈性塊存儲。該項目是假設使用S3存儲用戶上傳的文件。對於這個問題的緣故,我會打電話給S3存儲static.example.com
如何將S3存儲桶裝載到EC2實例並使用PHP寫入?
我一直在使用s3fs
(https://code.google.com/p/s3fs/wiki/FuseOverAmazon)試過了,RioFS
(https://github.com/skoobe/riofs)和s3ql
(https://code.google.com/p/s3ql/)。 s3fs
將掛載文件系統,但不會讓我寫入存儲桶(我在SO上問過這個問題:如何使用FUSE以適當的權限掛載S3卷)。 RioFS
將掛載文件系統,並讓我從shell寫入存儲桶,但使用PHP保存的文件不會出現在存儲桶中(我在GitHub上打開了一個項目問題)。 s3ql
將掛載存儲桶,但文件系統中不會顯示存儲桶中已有的文件。
這些是安裝命令我使用:https://github.com/tpyo/amazon-s3-php-class/這FuelPHP特定S3包:https://github.com/tomschlick/fuel-s3
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類試過。我能夠得到FuelPHP包列出可用的桶和文件,但將文件保存到桶失敗(但沒有錯誤)。
你有沒有在本地Linux文件系統上掛載S3存儲桶,並使用PHP將文件成功寫入存儲桶?您使用了哪些工具?如果您使用上述工具之一,您使用的是哪個版本?
編輯 我被告知,我在GitHub上與RioFS
打開問題已得到解決。儘管我決定使用S3 REST API而不是嘗試將一個存儲桶安裝爲卷,但似乎RioFS
可能是最近可行的選擇。
爲什麼downvote?我需要更多/更少具體嗎? – 2013-05-07 21:09:39
爲什麼不使用[S3 API](http://aws.amazon.com/documentation/s3/)而不是試圖將其用作文件系統? – 2013-05-07 21:11:03
不是downvoter,但我想知道他/她是否在尋找一大堆你遇到麻煩的代碼。雖然我們確實有一個針對話語問題的政策,但這個問題似乎對我來說足夠具體,所以+1。 – halfer 2013-05-07 21:12:51