我正在尝试通过说明here实施Google的登录API,但出于某种原因,当我尝试运行它时,我总是得到:
致命错误:第76行/home/.../Google/Client.php中未找到“Google_Config”类
我很确定我正确地链接到Client.php - 我不认为这是我自己的代码中的一个问题。有谁知道这里会发生什么?谢谢!
答案 0 :(得分:4)
此错误表示您未使用Composer来安装客户端。 如果没有Composer,您应该在脚本中
set_include_path(get_include_path() . PATH_SEPARATOR . dirname($_SERVER['SCRIPT_FILENAME']) . 'vendor/google-api-php-client/src');
require_once '/path/to/autoload.php';
require_once '/path/to/Client.php';
如果没有autoload.php,则不会找到任何课程。在Client.php中,类定义之前的代码尝试加载autoload.php。但是你已经找到了Client.php,给出了它的完整路径。所以没有加载autoload.php。
正如您所说,重新安装API时问题已解决。我想你第二次使用Composer了。
澄清: 根据{{3}},上述说明并不意味着跳过正确的客户端安装。适用于“google / apiclient”:“1.0.*@beta”
答案 1 :(得分:2)
你确定你从github下载了整个版本的master分支吗?你应该有/ vendors和/ src目录 - 然后需要/src/autoload.php
答案 2 :(得分:1)
google的自动加载器对我不起作用,这可能是因为旧版本的PHP或与竞争的自动加载器发生冲突,我不知道。
我甚至尝试过手动包括谷歌自动加载器(这应该是src/Google/Client.php
已经require_once
autoload.php
的{{1}}多余的文件:
require_once 'google-api-php-client/autoload.php'
require_once 'google-api-php-client/src/Google/Client.php'
永远找不到 Google_Config
......
最后唯一的解决方案是https://stackoverflow.com/a/26985116/3338098中描述的解决方案 即。
set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/google-api-php-client/src');
require_once 'Google/Client.php'
答案 3 :(得分:0)
I fought with this for a while. The reason was actually quite simple:
I had ignored in git "config.php" which ignored this file and that's why it was not in my production environment.
答案 4 :(得分:0)
我可以通过以下步骤解决问题
> cd "youfolder"
> composer install
答案 5 :(得分:0)
不要将供应商文件夹保存在根文件夹中,而是将其保存在 google-api-php-client-master 文件夹中,并使用以下行将其包含在项目中
require_once DIR.'/google-api-php-client-master/vendor/autoload.php';