Google Compute Engine - PHP将文件上传到存储桶

时间:2015-07-09 00:01:41

标签: php google-cloud-storage google-compute-engine

我创建了一个Google Cloud Platform帐户,部署了LAMP服务器,并通过SFTP登录并上传了我现有的网站。

我的网站目前正在另一台服务器上运行,所以我也上传了所有数据库和所有内容。

在我使用hostgator的当前服务器上,我将文件上传到/home/username/public_html/uploads文件夹,但在谷歌上,您可以上传到存储桶。我想我会使用他们的云存储。

我尝试向存储区执行PHP move_uploaded_file()gs://mybucket/uploads;但是,这不起作用。

诀窍是什么?我能找到的唯一文档是使用App Engine,但我只是使用安装了LAMP的计算引擎。

另外,哪个更好?我应该坚持将上传保存到LAMP服务器,还是应该使用存储桶?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以直接使用json api: https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload

还有一个用于使用Google API的PHP库: https://developers.google.com/api-client-library/php/start/get_started

然后您可以使用该库通过以下调用将对象插入到您的存储桶中: https://cloud.google.com/storage/docs/json_api/v1/objects/insert

答案 1 :(得分:0)

如果你已经在运行LAMP堆栈,可以使用本地磁盘直接从VM本身提供文件;您不需要开始使用Google云端存储来处理典型的简单用例。

存储桶术语来自的

Google Cloud Storage对于存储大量文件或服务于非常大的站点非常有用,可以通过Hadoop进行处理,也可以为全球用户提供服务。因为这涉及到您的更多工作,所以如果您的网站如此受欢迎以至于直接从VM提供数据的成本比使用Google云端存储更加昂贵,那么这是有道理的。

但是,Google云端存储的可扩展性远远高于VM上的磁盘(虽然您可以附加其他磁盘,但您只能使用up to 10TB of persistent disk per VM,而且它不是自动进程) ,但这取决于您的用例是否需要那么多空间。

结论:如果您的网站在您的VM上使用LAMP堆栈正常工作,那么保留它就可以了。跟踪您的TCO是一个好主意,因此请密切关注计算,存储和网络流量的成本,并了解将您的部分资产迁移到哪个位置可能有意义Google云端存储。

您可以使用Google Cloud Platform Pricing Calculator来估算费用,还可以查看pricing for Google Compute Engine(包括计算,存储和网络)以及Google Cloud Storage,看看您的特定的用例将会成功。