Я пытаюсь реализовать API входа в Google с помощью инструкций Вот, но по какой-то причине, когда я пытаюсь запустить его, я всегда получаю:
Неустранимая ошибка: класс ‘Google_Config’ не найден в /home/…/Google/Client.php в строке 76
Я совершенно уверен, что правильно связался с Client.php — я не считать это проблема в моем собственном коде. Кто-нибудь знает, что здесь может происходить? Спасибо!
Эта ошибка означает, что вы не использовали 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»
Вы уверены, что скачали целую версию, а не только главную ветку с github? Вы должны иметь каталоги / vendors и / src — тогда вам потребуется /src/autoload.php
Автозагрузчик 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'
Я боролся с этим некоторое время. Причина была на самом деле довольно проста:
Я проигнорировал в git «config.php», который игнорировал этот файл, и поэтому его не было в моей производственной среде.
Я мог бы решить проблему, выполнив следующие действия
> cd "youfolder"> composer install
Вместо того, чтобы хранить папку вендора в корневой папке, храните ее в Google-апи-PHP-клиент-мастер папку и используйте следующую строку, чтобы включить его в свой проект
require_once DIR.'/google-api-php-client-master/vendor/autoload.php';