繁体   English   中英

如何使用PHP备份服务器文件将文件从服务器上传到Google云存储到Google服务器?

[英]How can I upload files to google cloud storage from my server to google's server using PHP to backup my server files?

我已经通过Composer下载并安装了Google云存储PHP库,下载了JSON密钥文件,但我无法使用该库做任何事情。 当我按照信中的指示进行操作时,除了错误外,我什么也没有得到。 无论如何,这是我尝试执行任何操作的文件中的代码,例如列表存储区文件或上载文件等。有人可以告诉我我在做什么错吗? 我真的很想使用服务器上的Google Cloud Storage备份文件。

<?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云存储帐户是付费帐户。

这是我收到的错误:

致命错误:未捕获错误:在/home/universitytest/uona.today/google/index.php:17中的null上调用成员函数storage()堆栈跟踪:#0 /home/universitytest/uona.today/google/index .php(23):list_objects('uona-storage-up ...')#1 {main}在第17行的/home/universitytest/uona.today/google/index.php中抛出

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM