如何使用PHP备份我的服务器文件,将文件从我的服务器上传到google云端存储到google服务器?

时间:2018-01-31 17:42:48

标签: php backup google-cloud-storage

我已经通过Composer下载并安装了谷歌云存储PHP库,下载了JSON密钥文件,我无法使用该库做任何事情。当我遵循信中的指示时,我得到的只是错误。无论如何,这里是我试图做任何事情的文件的代码,如列表桶文件,或上传文件等...谁能告诉我我做错了什么?我真的想在我的服务器上使用Google云端存储来备份文件。

<?php
require 'vendor/autoload.php';
use Google\Cloud\Core\ServiceBuilder;

$gcloud = new ServiceBuilder([
    'keyFilePath' => 'UoNA - Storage-4b777cc06ca3.json',
    'projectId' => 'uona-storage'
]);

function list_objects($bucketName)
{
    //$storage = new StorageClient();
    $storage = $gcloud->storage();
    $bucket = $storage->bucket($bucketName);
    foreach ($bucket->objects() as $object) {
        printf('Object: %s' . PHP_EOL, $object->name());
    }
}
list_objects('uona-storage-upload');

如果有助于澄清,我使用DreamHost VPS作为我的服务器。它支持PHP 7.0。我的Google云存储帐户是付费帐户。

这是我收到的错误:

  

致命错误:未捕获错误:调用成员函数storage()   /home/universitytest/uona.today/google/index.php:17中的null   追踪:#0 /home/universitytest/uona.today/google/index.php(23):   list_objects(&#39; uona-storage-up ...&#39;)#1 {main}引入   第17行/home/universitytest/uona.today/google/index.php

1 个答案:

答案 0 :(得分:0)

从您的代码中我可以看到您缺少以下库:

use Google\Cloud\Storage\StorageClient

并且未创建对象“StorageClient”。

function list_objects($bucketName)
{
    //$storage = new StorageClient();<---- This line

这里[1]你有多个用于PHP的桶和对象的上传,删除,列表等示例。

[1] https://cloud.google.com/storage/docs/object-basics#storage-upload-object-php