Я пытаюсь внедрить API входа в Google с помощью инструкций здесь , но по какой-то причине, когда я пытаюсь запустить его, я всегда получаю:
Неустранимая ошибка: Class '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. Полагаю, вы использовали композитор во второй раз.
Уточнение: вышеупомянутое примечание НЕ означает пропустить надлежащую установку клиента, согласно документации Google . Применяется для «google / apiclient»: «1.0.*@beta»
Вы уверены, что загрузили весь выпуск не только мастер-ветку из github? У вас должны быть / vendors и / src каталоги – тогда требуется /src/autoload.php
Автозагрузчик google не работает для меня, это либо из-за старой версии PHP, либо из-за конфликта с конкурирующим автозагрузчиком, я не знаю.
Я даже пробовал вручную, включая автозагрузчик googles (который должен быть избыточным, поскольку src/Google/Client.php
уже src/Google/Client.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 ie
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-api-php-client-master и используйте следующую строку, чтобы включить ее в свой проект
require_once DIR .'/google-api-php-client-master/vendor/autoload.php';