Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “类”;谷歌“配置”;找不到_Php_Google Plus_Google Api Php Client - Fatal编程技术网

Php “类”;谷歌“配置”;找不到

Php “类”;谷歌“配置”;找不到,php,google-plus,google-api-php-client,Php,Google Plus,Google Api Php Client,我试图通过说明实现Google的登录API,但由于某些原因,当我尝试运行它时,我总是得到: 致命错误:在第76行的/home/../Google/Client.php中找不到类“Google_Config” 我确信我正确地链接到Client.php——我认为这在我自己的代码中不是问题。有人知道这里会发生什么吗?谢谢 此错误意味着您没有使用Composer来安装客户端。 如果没有作曲家,在你的剧本中你应该 set_include_path(get_include_path() . PATH_SEP

我试图通过说明实现Google的登录API,但由于某些原因,当我尝试运行它时,我总是得到:

致命错误:在第76行的/home/../Google/Client.php中找不到类“Google_Config”


我确信我正确地链接到Client.php——我认为这在我自己的代码中不是问题。有人知道这里会发生什么吗?谢谢

此错误意味着您没有使用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时,您的问题就解决了。我想你第二次用了作曲家

澄清:
上述注释并不意味着跳过正确的客户端安装。申请“google/apiclient”:“1.0.*@beta”

谷歌的自动加载器对我不起作用,可能是因为旧版本的PHP或与竞争对手的自动加载器发生冲突,我不知道

我甚至尝试手动加入谷歌自动加载程序(这应该是多余的,因为
src/Google/Client.php
已经
require\u once
autoload.php

require_once 'google-api-php-client/autoload.php'
require_once 'google-api-php-client/src/Google/Client.php'
Google\u Config
从未找到

最后通牒中所述的解决方案是唯一的解决方案 i、 e


我为此奋斗了一段时间,原因其实很简单:


我在git“config.php”中忽略了这个文件,它忽略了这个文件,这就是为什么它不在我的生产环境中。

你确定你从github下载了整个发行版而不仅仅是master branch吗?你应该有/vendors和/src目录-然后需要/src/autoload.php

我可以通过以下步骤解决这个问题

> cd "youfolder"
> composer install

不要将供应商文件夹保存在根文件夹中,而是将其保存在GoogleAPI php客户端主文件夹中,并使用以下行将其包含在项目中


require\u onceDIR“/google-api-php-client-master/vendor/autoload.php”;

如何包含client.php?@raidenace require\u once'google/client.php';它不是关于包含
client.php
。它说在
client.php
中找不到
google\u-Config
类。您配置了classlo吗正确地加载程序(假设您有一个)@Mt_Xing-以一种过于简单的方式,classloader基本上是php中一个名为
\uu autoload()的神奇函数
-当您在脚本中实例化一个类时,如果未包含类定义文件,则调用此函数作为尝试加载类的最后手段。但是,在您的情况下,不应该需要此函数-我认为Google API不需要自动加载。您能检查php.ini中的include_路径值吗?@Mt_Xing:我很高兴它能工作-谢谢你主动接受我的回答,但我真的没有帮你什么忙,也许下次吧:)我仍然想知道重新加载有什么帮助,也许是计算机科学中那些永远无法解决的重启/重启/重新加载之谜!奇怪的是,我第二次也没有使用Composer。。。我不知道为什么;重装只是神奇地修复了一切。奇怪。为什么要使用set_include_path()?为什么不直接要求autoloader然后$client=new\Google_client()?
> cd "youfolder"
> composer install