gpt4 book ai didi

php - 无法从 google-api-php-client 要求 Symfony 中的文件

转载 作者:可可西里 更新时间:2023-11-01 12:53:23 25 4
gpt4 key购买 nike

我需要使用 google-api-php-client。为此,我将 Google 的 github 存储库添加到我的 composer.json

"repositories": [
{
"type": "package",
"package": {
"name": "google/google-api-php-client",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/google/google-api-php-client.git",
"reference": "master"
},
"autoload" :{
"classmap": ["src"]
}
}
}
]

...

"require" : {
...
"google/google-api-php-client": "dev-master"
}

一切都已正确安装,我有以下目录结构:

/vendor
/google
/google-api-php-client
/examples
/src
/Google
Client.php

当我在 Controller 中创建对象时,执行以下操作:

$client = new \Google_Client();

找到路径和类。但是,我收到以下错误:

ContextErrorException: Warning: require_once(Google/Auth/AssertionCredentials.php): failed to open stream: No such file or directory in /Users/etienne/Developpement/Ima-Tech/Clients/lesoptions/vendor/google/google-api-php-client/src/Google/Client.php line 18

在我的 Client.php 文件中,文件开头有以下内容:

require_once 'Google/Auth/AssertionCredentials.php';

如果我将行更改为:

require_once 'Auth/AssertionCredentials.php';

对于该包含,一切正常。但是,我不想更改 google-api-php-client 项目的每个文件中的每个 require_once。我确定有一种方法可以更改包含路径或其他内容,因此我想知道如何判断命名空间“Google”是当前目录?

编辑 1: 我猜这可能是因为这个项目 (google-api-php-client) 没有使用命名空间...

最佳答案

尝试以下 Composer 设置:

"repositories": [
{
"type": "vcs",
"url": "https://github.com/google/google-api-php-client"
}
],
...
"require": {
"google/apiclient": "dev-master"
}

请注意,我使用的是 google/apiclient 而不是 google/google-api-php-client。这对我来说似乎很好用。我使用的是 PHP 5.4。

我认为它对您不起作用的原因是因为您在存储库定义中缺少 include-path。如果你看看图书馆的 composer.json ,您会看到指向 src 目录的 include-path

关于php - 无法从 google-api-php-client 要求 Symfony 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20810447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com