Class “Google_Config” not found

两盒软妹~` 提交于 2019-12-04 03:23:09

问题


I'm trying to implement Google's login API via the instructions here, but for some reason, when I try to run it, I always get:

Fatal error: Class 'Google_Config' not found in /home/.../Google/Client.php on line 76

I'm quite sure I linked to Client.php correctly - I don't think it's a problem within my own code. Does anyone know what might be happening here? Thanks!


回答1:


This error means that you didn't use Composer, to install the client. Without Composer, in your script you should

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';

Without the autoload.php, no class will be found. In Client.php the code before the Class definition tries to load autoload.php. But you have already found the Client.php, by giving the full path to it. So no loading of autoload.php happens there.

As you say, your problem solved when you reinstalled the API. I suppose you used Composer the second time.

Clarification: The above note does NOT mean to skip proper client installation, according to google documentation. Applies for "google/apiclient": "1.0.*@beta"




回答2:


Are you sure you downloaded whole release not only master branch from github? You should have /vendors and /src directories - then require /src/autoload.php




回答3:


google's autoloader doesn't work for me, it's either because of an old version of PHP or a conflict with a competing autoloader, I don't know.

I have even tried manually including googles auto loader (which should be redundant as src/Google/Client.php already require_once's the autoload.php:

require_once 'google-api-php-client/autoload.php'
require_once 'google-api-php-client/src/Google/Client.php'

Google_Config is never found...

ultimatly the only solution is the solution as described in https://stackoverflow.com/a/26985116/3338098 i.e.

set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/google-api-php-client/src');
require_once 'Google/Client.php'



回答4:


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.




回答5:


I could solve the problem by following steps

> cd "youfolder"
> composer install



回答6:


Instead of keeping vendor folder in root folder, keep it in google-api-php-client-master folder and use the following line to include it in your project

require_once DIR.'/google-api-php-client-master/vendor/autoload.php';



来源:https://stackoverflow.com/questions/26551826/class-google-config-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!