【问题标题】:How can I upload files to google cloud storage from my server to google's server using PHP to backup my server files?如何使用 PHP 将文件从我的服务器上传到谷歌云存储到谷歌的服务器以备份我的服务器文件?
【发布时间】:2018-02-06 17:47:36
【问题描述】:

我已经通过 Composer 下载并安装了谷歌云存储 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。我的谷歌云存储帐户是付费帐户。

这是我收到的错误:

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

【问题讨论】:

    标签: php backup google-cloud-storage


    【解决方案1】:

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

    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

    【讨论】:

      猜你喜欢
      • 2017-12-21
      • 2017-12-06
      • 2015-12-17
      • 1970-01-01
      • 1970-01-01
      • 2019-06-17
      • 2019-09-22
      • 1970-01-01
      • 2013-12-08
      相关资源
      最近更新 更多