我已经通过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
答案 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