解决问题。我的案例:
在阅读问题之前,由于我的开发环境,我的问题已经解决了。使用CodeKit(MacOS上的应用程序),在从源文件夹构建我的代码时,诸如composer.json和其他文件之类的项目不会传输,从而导致下面描述的问题。如果您确实在侦察这两个文件夹以查找差异,请将丢失的文档从src粘贴到构建文件夹。
:: QUESTION ::
我今天开始使用GCP,并遵循此处定义的说明:
composer require google/cloud-storage
然后:
putenv("GOOGLE_APPLICATION_CREDENTIALS=/path/to/creds.json");
require __DIR__.'/vendor/autoload.php';
use Google\Cloud\Storage\StorageClient;
$myid = "my-project-id";
$storage = new StorageClient([
'projectId'=>$myid
]);
var_dump($storage->buckets());
运行此操作时出现以下错误:
致命错误:第94行的/place/to/vendor/google/cloud-core/RequestWrapperTrait.php中找不到“Google \ Auth \ Cache \ MemoryCacheItemPool”类
我不知道如何解决这个问题,因为我刚刚开始使用GCP。不知道这是平台还是我的代码的问题。
Google Auth的文件结构如下所示:
我也跑了:
composer update
并卸载并重新安装包无效
答案 0 :(得分:1)
您在哪里找到使用和粘贴的代码?因为official documentation中存在的那个是不同的。
这段代码是您链接的教程中的一部分,尝试使用客户端库并发布错误日志(如果有的话)!
require __DIR__ . '/vendor/autoload.php';
use Google\Cloud\Storage\StorageClient;
$projectId = 'YOUR_PROJECT_ID';
$storage = new StorageClient(['projectId' => $projectId]);
$bucketName = 'my-new-bucket';
$bucket = $storage->createBucket($bucketName);
echo 'Bucket ' . $bucket->name() . ' created.';
<强>更新强> 我也测试了你的代码并且它也正常工作,因此我认为这是环境设置中的一个错误。
运行composer require google/cloud-storage
时是否收到任何错误?因为缺少Google\Auth\Cache\MemoryCacheItemPool
的类是作曲家安装的Psr
的一部分
[...]
Installing psr/cache (1.0.1)
Loading from cache
[...]
<强> UPDATE2 强> Matthew M在配置中发现错误并发布:
终于解决了这个问题。我在工作中使用CodeKit 环境,它似乎正在改变它的东西 编译。一个未编译的版本,它工作正常。