Класс & quot; Google_Config & quot; не найдено

Я пытаюсь реализовать API входа в Google с помощью инструкций Вот, но по какой-то причине, когда я пытаюсь запустить его, я всегда получаю:

Неустранимая ошибка: класс ‘Google_Config’ не найден в /home/…/Google/Client.php в строке 76

Я совершенно уверен, что правильно связался с Client.php — я не считать это проблема в моем собственном коде. Кто-нибудь знает, что здесь может происходить? Спасибо!

6

Решение

Эта ошибка означает, что вы не использовали 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 во второй раз.

Разъяснение:
Приведенное выше примечание НЕ означает пропустить правильную установку клиента, в соответствии с гугл документация. Применяется для «google / apiclient»: «1.0.*@beta»

4

Другие решения

Вы уверены, что скачали целую версию, а не только главную ветку с github? Вы должны иметь каталоги / vendors и / src — тогда вам потребуется /src/autoload.php

2

Автозагрузчик Google не работает для меня, это либо из-за старой версии PHP, либо из-за конфликта с конкурирующим автозагрузчиком, я не знаю.

Я даже пытался вручную включить автозагрузчик Google (который должен быть избыточным, как src/Google/Client.php уже require_onceэто autoload.php:

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

Я боролся с этим некоторое время. Причина была на самом деле довольно проста:

Я проигнорировал в git «config.php», который игнорировал этот файл, и поэтому его не было в моей производственной среде.

0

Я мог бы решить проблему, выполнив следующие действия

> cd "youfolder"> composer install
0

Вместо того, чтобы хранить папку вендора в корневой папке, храните ее в Google-апи-PHP-клиент-мастер папку и используйте следующую строку, чтобы включить его в свой проект

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

0
По вопросам рекламы [email protected]