Klasse "Google_Config" nicht gefunden
Ich versuche, die Implementierung von Google-login-API über die Anweisungen hier, aber aus irgendeinem Grund, wenn ich versuche es zu starten, bekomme ich immer:
Fatal error: Class 'Google_Config' not found in /home/.../Google/Client.php on line 76
Ich bin mir ziemlich sicher, dass ich verbunden Client.php korrekt - ich weiß nicht denke es ist ein problem, in meinem eigenen code. Weiß jemand was das sein könnte, was hier passiert? Danke!
- wie sind Sie inklusive client.php?
- require_once 'Google/Client.php';
- Es geht nicht darum, einschließlich
Client.php
. Es sagt, dass es nicht finden könnenGoogle_Config
Klasse inClient.php
. Haben Sie konfiguriert classloader korrekt (vorausgesetzt, Sie eine haben)? - Sorry - noob Frage hier. Was ist ein classloader und wie kann man Sie verwenden? Ich fand link, aber ich bin mir nicht genau sicher, wie Sie es verwenden.
- in einem über-vereinfachende Art und Weise, classloader ist im Grunde eine Magische Funktion in php aufgerufen
__autoload()
- beim instanziieren einer Klasse, die in Ihrem Skript, wenn die Klassen-definition-Datei ist nicht enthalten diese Funktion aufgerufen wird, als letztes Mittel, um zu versuchen und laden Sie Ihre Klasse. In Ihrem Fall ist es allerdings nicht erforderlich sein sollte-ich glaube nicht, dass Google-API muss autoloading. Können Sie überprüfen, was ist include_path Wert in php.ini? - get_include_path gibt :/usr/lib/php:/usr/local/lib/php. Ich bin auch manuell ausgeführt werden set_include_path(get_include_path() . PATH_SEPARATOR . '../../PHPDep/Google"); in meinen code.
- Nevermind - ich löschte meinen gesamten google-api-php-client Ordner und reuploaded es. Es scheint zu funktionieren jetzt. Vielen Dank für Eure Hilfe - wenn Sie möchten, den Ruf, Schreibe eine Antwort und ich werde es akzeptieren.
- Ich bin froh, dass es funktioniert - vielen Dank für das Angebot zu akzeptieren, eine Antwort von mir, aber ich habe wirklich nicht viel zu tun, um Ihnen zu helfen hier, vielleicht Nächstes mal:) ich Frage mich immer noch, wie einfach reuploading geholfen, vielleicht eines dieser " Neustart/restart/reupload Geheimnisse in der computer-Wissenschaft, die nie gelöst werden!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Fehler bedeutet, dass Sie nicht mit Komponisten, den client zu installieren.
Ohne Komponisten, die in Ihrem Skript sollten Sie
Ohne autoload.php keine Klasse gefunden wird. In Client.php den code vor der definition der Klasse versucht zu laden autoload.php. Aber haben Sie schon gefunden Client.php, indem Sie den vollständigen Pfad. Also nicht laden autoload.php dort passiert.
Wie Sie sagen, ist Ihr problem gelöst, wenn Sie wieder die API. Ich nehme an, du benutzt Komponist zweiten mal.
Klarstellung:
Der obige Hinweis bedeutet NICHT, Sie zu überspringen passende client-installation nach google Dokumentation. Gilt für die "google/apiclient": "1.0.*@beta"
Sind Sie sicher, dass Sie heruntergeladen haben ganze Veröffentlichung nicht nur der master branch von github? Sie sollten haben /Lieferanten und /src-Verzeichnisse - dann /src/autoload.php
google autoloader bei mir nicht funktioniert, ist es entweder, weil eine alte PHP-version oder ein Konflikt mit einer konkurrierenden autoloader, weiß ich nicht.
Ich habe sogar versucht, manuell einschließlich googles auto-loader (das sollten redundant als
src/Google/Client.php
bereitsrequire_once
's dieautoload.php
:Google_Config
ist nie gefunden...ultimatly die einzige Lösung ist die Lösung, wie beschrieben, in https://stackoverflow.com/a/26985116/3338098
also
Kämpfte ich mit dieser für eine Weile. Der Grund war eigentlich ganz einfach:
Hatte ich ignoriert git "config.php" die ignoriert Sie diese Datei, und das ist, warum es nicht in meiner Produktionsumgebung.
Ich konnte das problem lösen, indem Sie die folgenden Schritte
Anstatt zu halten vendor-Ordner im root-Ordner, halten Sie es in google-api-php-client-master - Ordner und verwenden Sie die folgende Zeile in Ihr Projekt einbinden
require_once DIR.'/google-api-php-client-master/vendor/autoload.php';